Entfernen Compiler Richtlinie für eine Interop
Frage
Ich habe eine Interop für einen COM-DLL über tlbimp
erstellt und an die Assembly Cache hinzugefügt. Um dies zu verwenden in einer ASP.net Seite muss ich die folgende
<%@ Page Language="VB" Debug="true" CompilerOptions='/R:"C:\Program Files\blah\blah\LIBRARY.dll"'%>
<%@ Import Namespace=LIBRARY %>
Warum benötige ich die Compiler Richtlinie, wenn es in der Assembly-Cache ist? Kann ich diese vereinfachen und zentralisieren?
Lösung
Sie sollten nur in der Lage sein, einen Verweis auf fügen Sie einfach wie jede andere Baugruppe Referenz hinzufügen würde. Das ist alles / R:. Tut
EDIT: Wenn Sie nicht explizit den Web-App anderswo bauen, mit / R in der aspx-Datei ist wahrscheinlich die beste Wahl. Der Grund, warum Sie es brauchen, ist, dass ASP.NET ist effektiv für Sie die Anwendung Aufbau und etwas muss es sagen, welche Bibliothek Referenz, auch wenn diese Bibliothek im GAC ist. Es ist genau wie normale Montag Referenzen in einem Visual Studio-Projekt -. Wenn Sie einen Verweis entfernen, um System.Xml
, Sie werden die XML-Klassen zu verwenden, obwohl diese Assembly in dem GAC nicht in der Lage sein