2009-02-10 5 views
0

J'ai créé un interop pour une DLL COM via tlbimp et l'ai ajouté au cache de l'assembly. Pour utiliser dans une page ASP.net je dois inclure les éléments suivantsSuppression de la directive CompilerOptions pour un interop

<%@ Page Language="VB" Debug="true" CompilerOptions='/R:"C:\Program Files\blah\blah\LIBRARY.dll"'%> 
<%@ Import Namespace=LIBRARY %> 

Pourquoi ai-je besoin de la directive CompilerOptions si elle est dans le cache de montage? Puis-je simplifier et centraliser cela?

Répondre

1

Vous devriez juste être en mesure d'ajouter une référence tout comme vous ajouteriez toute autre référence d'assemblage. C'est tout/R: fait.

EDIT: Si vous ne construisez pas explicitement l'application Web ailleurs, l'utilisation de/R dans le fichier aspx est probablement votre meilleur choix. La raison pour laquelle vous en avez besoin est qu'ASP.NET construit effectivement l'application pour vous, et quelque chose à doit lui dire quelle bibliothèque référencer, même si cette bibliothèque est dans le GAC. C'est comme les références d'assemblage normales dans un projet Visual Studio - si vous supprimez une référence à System.Xml, vous ne pourrez pas utiliser les classes XML même si cet assembly est dans le GAC.

+0

Merci Jon, je n'utilise pas Visual Studio. Comment puis-je faire cela en code VB ou C# seulement? J'ai essayé "Import LIBRARY" et LIBRARY est dans le cache d'assembly et cela ne fonctionne pas. Des idées? –

+0

Merci pour la clarification supplémentaire Jon. –

Questions connexes