2010-11-20 5 views
4

Ich muss diese Arten von Ressourcen über mehrere ASP.NET-Websites freigeben. Der Ansatz, den ich tendiere, besteht darin, eine separate Webanwendung für gemeinsame Masterseiten und eine separate Website für gängige CSS, Bilder usw. zu erstellen. Das Problem hierbei ist, dass ich nicht mehr gemeinsame Ressourcen mit Tilde referenzieren kann, sondern müsste Verwenden Sie die URL der allgemeinen Website mit diesen Ressourcen.Gemeinsame Nutzung von CSS, JS, Bildern, Masterseiten usw. über ASP.NET-Websites

Es gibt auch eine approach delegierende Quellcodeverwaltung, um das zu verwalten, was ich nicht mag, weil Sie Änderungen einchecken und andere Websites aktualisieren müssten, damit Änderungen wirksam werden.

Gibt es bessere Möglichkeiten zum Teilen dieser Ressourcen über ASP.NET-Websites?

Antwort

4

Sie könnten Ihrer Lösung das Projekt mit gemeinsamen Ressourcen hinzufügen, eine Befehlszeile für die Ereignisvorbereitung im Projekt mit gemeinsamen Ressourcen einrichten, um die Dateien in ein Verzeichnis in der Lösung zu kopieren, in der Sie arbeiten, und dann eine Projektreferenz erstellen Das gemeinsame Ressourcen-Projekt wird also jedes Mal kopiert, wenn Sie das Projekt erstellen, das die Ressourcen benötigt.

Ich benutze es, um ASP.NET UserControls zwischen einigen Projekten zu teilen. Die Idee wird hier beschrieben: http://weblogs.asp.net/scottgu/archive/2005/08/28/423888.aspx. Hier

ist ein Beispiel, was Sie in dem Pre-Build-Event in dem gemeinsamen Ressourcen Projekt setzen können:

if exist $(SolutionDir)\SharedDir\ xcopy $(ProjectDir)\Resources\*.* $(SolutionDir)\SharedDir\ /c /y /d 
+0

Danke für Ihre Antwort! Das ist ein weiterer Ansatz, aber die Ressourcen würden für jedes Projekt kopiert werden, was bedeutet, dass der Client die gleichen geteilten Bilder, css & js-Dateien einmal für jede Website herunterladen wird. Es gibt einen weiteren Ansatz, der nur Webanwendungsprojekte verwendet, die hier beschrieben werden: http://blogs.msdn.com/b/webdevtools/archive/2006/07/01/652986.aspx. Aber es hat auch Nachteile - Visual Studio hat dafür keine volle Unterstützung und zeigt Warnungen an. –