2009-12-04 4 views
0

J'essaie d'utiliser un assembly personnalisé dans le Générateur de rapports version 2.0. J'ai ajouté l'assembly au rapport via Report Properties> References. Quand je tente d'appeler une méthode statique publique dans l'ensemble, je reçois ce message:méthode dans l'assembly personnalisé du Générateur de rapports introuvable

« ExtractTag » est pas un membre de « ReportsClassLibrary.ReportsClassLibraryTools ».

L'expression que je suis en train d'utiliser pour appeler la méthode est:

=ReportsClassLibrary.ReportsClassLibraryTools.ExtractTag("ID", "ID:incorrect", false) 

Et la signature de méthode dans l'assemblage est:

public static string ExtractTag(string tagToFind, string tags, bool caseSensitive) 

Cette méthode se trouve dans l'espace de noms ReportsClassLibrary et dans la classe ReportsClassLibraryTools.

Je ne sais pas si, pour une raison quelconque, mon rapport recherche une ancienne version de l'assembly qui ne possédait pas cette méthode, ou si le problème est autre. J'ai essayé de supprimer l'assemblage du rapport, de reconstruire l'assemblage et de le rajouter au rapport.

Modifier: ressemble à un problème plus profond. Mon assembly compile, mais lors de l'exécution d'un scénario de test qui appelle cette méthode, le test échoue avec une exception System.MissingMethodException. Je suppose que j'ai un problème d'assemblage, pas un problème de Générateur de rapports ...

Répondre

0

Il s'est avéré que c'était un problème avec le Global Assembly Cache dans Vista. L'ancienne version de mon assembly était mise en cache, donc la nouvelle méthode ExtractTag ne faisait pas partie de l'assembly. Je devais courir:

"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\gacutil.exe" /i bin\Debug\ReportsClassLibrary.dll 
Questions connexes