Hello,
Voici un problème que je ne comprends pas.
Dans le cadre d'un service WCF, j'ai les classes suivantes dans le contrat :
Côté client, j'ai donc mis une référence vers l'assembly du contrat WCF et j'ai les classes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 <DataContract()> Public Class Ticket Implements DTO.DtoBase <DataMember()> Public Property StoreNumber As Short <DataMember()> Public Property TicketDate As Date <DataMember()> Public Property TillNumber As Short <DataMember()> Public Property TicketNumber As Short <DataMember()> Public Property Articles As List(Of Article) Public Sub New(storeNumber As Short, ticketDate As Date, tillNumber As Short, ticketNumber As Short) Me.StoreNumber = storeNumber Me.TicketDate = ticketDate Me.TillNumber = tillNumber Me.TicketNumber = ticketNumber Articles = New List(Of Article) End Sub End Class <DataContract()> Public Class Article Implements DtoBase <DataMember()> Public Property Description As String <DataMember()> Public Property MerchendiseGroup As String <DataMember()> Public Property Ean As String <DataMember()> Public Property Ean2 As String <DataMember()> Public Property UnitPrice As Decimal <DataMember()> Public Property Quantity As Decimal <DataMember()> Public Property Gross As Decimal <DataMember()> Public Property Discount As Decimal <DataMember()> Public Property Net As Decimal <DataMember()> Public Property TaxPercent As Decimal <DataMember()> Public Property TaxAmount As Decimal <DataMember()> Public Property VatExcl As Decimal Public Sub New(description As String, merchendiseGroup As String, ean As String, ean2 As String, unitPrice As Decimal, quantity As Decimal, gross As Decimal, discount As Decimal, net As Decimal, taxPercent As Decimal, taxAmount As Decimal, vatExcl As Decimal) Me.Description = description Me.MerchendiseGroup = merchendiseGroup Me.Ean = ean Me.Ean2 = ean2 Me.UnitPrice = unitPrice Me.Quantity = quantity Me.Gross = gross Me.Discount = discount Me.Net = net Me.TaxPercent = taxPercent Me.TaxAmount = taxAmount Me.VatExcl = vatExcl End Sub End Class
En l'état, VS me donne l'erreur suivante sur l'instanciation d'une classe Ticket dans la fonction PopulateDTO (ici juste au dessus)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Imports System.Data.SqlClient Public Class Ticket Inherits Contracts.Ticket Implements IDtoBase Public Sub New(storeNumber As Short, ticketDate As Date, tillNumber As Short, ticketNumber As Short) MyBase.New(storeNumber, ticketDate, tillNumber, ticketNumber) End Sub End Class Public Class ParserTicket Inherits ParserSQL Private _ordStoreNumber, _ordTicketDate, _ordTillNumber, _ordTicketNumber As Integer Public Overrides Sub PopulateOrdinals(reader As SqlDataReader) _ordStoreNumber = reader.GetOrdinal("STR_CODE") _ordTicketDate = reader.GetOrdinal("TIC_DATE") _ordTillNumber = reader.GetOrdinal("TIC_TILL") _ordTicketNumber = reader.GetOrdinal("TIC_TICKET") End Sub Public Overrides Function PopulateDTO(reader As SqlDataReader) As IDtoBase Return New Ticket(reader.GetInt16(_ordStoreNumber), reader.getdatetime(_ordTicketDate), reader.GetInt16(_ordTillNumber), reader.GetInt16(_ordTicketNumber)) End Function End Class
Le pire, c'est que cette classe fait partie de l'assembly DTO.dll.Import of type 'DtoBase4 from assembly or module 'DTO.dll' failed.
J'ai remarqué que si je retire le Inherits Contracts.Ticket, l'erreur disparait. Mais bien sûr, le constructeur de la classe Ticket n'est alors plus valide ^^.
J'ai demandé à google ce qu'il savait sur cette erreur mais tout ce que je trouve sont des trucs sans rapport avec ce que je semble rencontrer...
A noter que j'utilise VS2015 Pro et Resharper Ultimate 9.1.1
Quelqu'un aurait-il déjà rencontrer cela ???
Partager