appel d'un assemblage C # à partir d'un rapport dans les services de génération de rapports

StackOverflow https://stackoverflow.com/questions/1019295

  •  06-07-2019
  •  | 
  •  

Question

J'ai ajouté une référence à un assemblage personnalisé dans un rapport report services (2008). Cela fonctionne très bien lorsque j'appelle depuis une zone de texte (par exemple, = Assembly.Class.Function ()), mais lorsque je l'enveloppe dans un bloc de code personnalisé:

Function GetString(ByVal key as String) as String

return Willow.Reporting.Localization.Resource.Get(User!Language, "WAR", "Title", key)

end function

Je reçois l'erreur de construction "La référence à un membre non partagé nécessite une référence à un objet.".

La classe et les fonctions C # sont statiques.

En guise de test, j'ai également créé une version non statique de la classe, créé une instance et y ai accédé via le nom de l'instance dans le code personnalisé, mais sans succès non plus.

est-il possible d'appeler un assemblage personnalisé à partir du bloc de code dans les services de génération de rapports?

Était-ce utile?

La solution 2

VS IDE charge l'assemblage une seule fois, lors du chargement - vous devez donc fermer / rouvrir VS chaque fois que vous effectuez une modification d'assemblage (supprimer la référence et réinitialiser ne fonctionnait pas non plus)

vous pouvez utiliser à la fois des appels statiques et des méthodes d'instance. Cela fonctionne très bien à partir du code incorporé, par exemple:

Function Test() as String
    return Instance.GetString()
End Function

Function Test2() as String
    return WR.StaticTest.GetString()
End Function

Autres conseils

Peut-être que vous êtes un programmeur C #? " Partagé " en VB signifie statique. Le message signifie que vous devez créer une instance de la classe pour pouvoir appeler une méthode (instance) de la classe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top