Erreur MissingMemberException non comprise
Bonsoir à tous,
depuis quelque semaine je me trouve confronté à une erreur qui se produit uniquement sur certain poste de mon entreprise.
Bien sur impossible de reproduire l'erreur sur mon poste :(
Voici l'erreur :
Citation:
System.MissingMemberException: Aucun membre par défaut
trouvé pour le type 'String'.
at Microsoft.VisualBasic.CompilerServices.LateBinding.LateIndexGet(Object o, Object[] args, String[] paramnames)
L'erreur arrive dans une fonction de remplissage d'une dataRow via des propriété ex :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Public Property pD_NUMERO_LOCAL() As String
Get
If IsDBNull(myRow("NUMLOC")) Then Return ""
Return myRow("NUMLOC")
End Get
Set(ByVal value As String)
If value.length > 3 Then Throw New ArgumentException("Maximum 3 charactère.", "NUMERO_LOCAL")
If Not IsDBNull(myRow("NUMLOC")) Then
If value = myRow("NUMLOC") Then Exit Property
End If
myRow("NUMLOC") = value
End Set
End Property |
J'ai bien sur fait des recherches sur le net et j'ai trouvé sur msdn :
Citation:
A MissingMemberException exception is thrown when there is an attempt to dynamically access a class member that does not exist.
Associated Tips
If a member in a class library has been removed or renamed, recompile any assemblies that reference that library.
This exception is typically thrown when a field or method is deleted or renamed in one assembly, and the change is not reflected in a second assembly that is trying to access the missing member.
If you are attempting to access members on a late-bound object variable, make sure it is declared Public.
Protected , Friend, and Private variables cannot be late-bound in Visual Basic.
J'ai donc essayé de recompiler les différentes DLL qui sont dans le projet et de recompiler après le projet mais sans succès ce qui me semble logique vu que je n'utilise pas de fonction de ces dll lors du remplissage de la datarow
j'ai été voir du coté de
Microsoft.VisualBasic.CompilerServices.LateBinding.LateIndexGet
qui se trouve être une class du compilateur :
Citation:
Envoyé par msdn
Cette API prend en charge l'infrastructure .NET Framework et n'est pas destinée à être utilisée directement à partir de votre code.
Cette classe a été déconseillée depuis Visual Basic 2005.
Notes
Cette classe prend en charge le compilateur Visual Basic et n'est pas destinée à être directement utilisée à partir de votre code.
Donc ce n'est pas une piste non plus.
Maintenant je ne sais plus où chercher :(
J'espère donc trouver réponse ici comme bon nombre de fois :ccool: