2009-07-17 6 views
10

Wo sind Baugruppenreferenzen für eine Webanwendung gespeichert?Wo sind Referenzen zur Web Application Project Assembly gespeichert?

In einer Website werden Assembly-Tags in der web.config beim Hinzufügen eines Verweises zum Assembly-Knoten geschrieben. Ich bin nur neugierig, wie das Web Application Project die Verbindung herstellt, um die richtige lokale DLL zu erhalten?

Ich manuell die Referenz und die Anwendungsbuilds hinzufügen, aber die DLL wird nicht in den Ordner BIN importiert, und die Assembly-Knoten werden nicht in der Webkonfiguration erstellt, wie sie in einer Website sind. Ich suche nach dem Text 'assembly = "SomeAssembly ..." und es werden keine Ergebnisse gefunden.

Ich bin nur neugierig, wie ich versuche, Update-Assembly-Referenzen zu zentralisieren, da ein Drittanbieter-Anbieter regelmäßig Hotfixes löscht und wir alle herumlaufen und alle einzelnen Seitenverweise auf die Assembly aktualisieren müssen. Ich war in der Lage, dies effektiv in der Website-Projekt zu tun, aber ich bin ziemlich neu in Web Application Projects. Jeder Rat oder Links wäre willkommen. Ich denke, ich suche nach Tipps zur Assembly & Steuerelement Referenzverwaltung für ASP.NET Web Application Projects.

Antwort

2

Da die Assembly nicht in den BIN-Ordner importiert wurde und Ihre Anwendung funktioniert, gehe ich davon aus, dass sie im GAC (globaler Assemblycache) gespeichert und in den Referenzeigenschaften als "copy local = false" markiert ist. In der Datei "web.config" wird der Verweis auf die Assembly nicht angezeigt, da der Code hinter der Assembly "YourApp.dll" (der immer für Webanwendungen erstellt wird) eine Standardassemblyreferenz für diese Assembly enthält. Wenn Sie Ihre Anwendung ausführen, lädt sie die Assembly aus dem GAC.

1

Diese "fehlenden" DLLs sind wahrscheinlich in der Global Assembly Cache und sind für alle .NET-Anwendungen verfügbar.

Sie können Kontrollreferenzen zu pages/controls section von web.config hinzufügen, die für alle Seiten in der Anwendung gelten.

3

Wie die meisten Visual Studio-Projekte werden Referenzen im Projekt beibehalten.

Es gibt zwei Arten von Referenz:

Projektreferenzen sind Verweise auf ein anderes Projekt in der gleichen Lösung. Sie sehen wie folgt aus:

<ProjectReference Include="..\VBClassLibrary1\VBClassLibrary1.vbproj"> 
    <Project>{045D7D9F-8E44-4C4B-95F8-620E86593C5B}</Project> 
    <Name>VBClassLibrary1</Name> 
</ProjectReference> 

Dateiverweise Verweise auf eine beliebige Datei auf der Festplatte sind:

<Reference Include="System.Core"> 
    <RequiredTargetFramework>3.5</RequiredTargetFramework> 
</Reference> 

Wenn Sie die Referenzen erweitern Ordner und klicken Sie auf eine Referenz, dann suchen Sie im Eigenschaften-Fenster, Sie Ich sehe, dass beide Arten von Referenzen die Eigenschaft "Copy Local" haben. Bei Projektreferenzen wird standardmäßig "true" angegeben, bei Dateiverweisen auf "false" (obwohl dies möglicherweise nur der Fall ist, wenn sich die Datei im GAC befindet). Ändern der Standardeinstellungen:

<Private>False</Private> 
Verwandte Themen