Ich möchte eine ASP.NET MVC-Anwendung auf einem IIS-Server bereitstellen und alle erforderlichen Ressourcen über virtuelle Verzeichnisse importiert haben. Dies funktioniert mit jedem anderen Ordner, der in der Anwendung verwendet wird. AUSSER die bin/ordner. Wenn i Virtuelle-Verzeichnis versuchen, das BIN-Verzeichnis dann kann die Anwendung nicht gestartet:Binding bin als virtuelles Verzeichnis in IIS erstellt global.asax Fehler
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'MyCompany.Services.Global'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="MyCompany.Services.Global" Language="C#" %>
Source File: /global.asax Line: 1
Nun zum why-I-want-to-do-this:
Ich habe folgendes Szenario in meinem Unternehmen:
Wir haben eine ASP.NET MVC Website-Lösung. Es wird für 2 Kunden auf einem unserer Server bereitgestellt. Beide Kunden werden immer gleichzeitig bereitgestellt. Beide verwenden dieselbe Version. Aber beide verwenden unterschiedliche Konfigurationsdateien. (Web.config & a root-config.js für angular). \ Inetpub \ wwwroot \ curstomerA \ und c:
Struktur wie diese
c:\inetpub\wwwroot\
+ curstomerA\
+ bin\
+ Scripts\
+ Views\
+ (...)
+ web.config
+ root-config.js
+ curstomerA\
+ bin\
+ Scripts\
+ Views\
+ (...)
+ web.config
+ root-config.js
beide c wäre \ inetpub \ wwwroot \ curstomerB \ sind eigene Websites in IIS erstellt. sie haben unterschiedliche Anwendungspools und werden an verschiedenen Subdomains gebunden:
c: \ inetpub \ wwwroot \ curstomerA \ => customerA.myCompany.com
c: \ inetpub \ wwwroot \ curstomerB \ => customerB .mycompany.com
so was ich versuche zu tun ist
c:\inetpub\wwwroot\
+ curstomerA\
+ bin\
+ Scripts\
+ Views\
+ (...)
+ web.config
+ root-config.js
+ curstomerA\
+ <bin> as virtualDirectory onto c:\inetpub\wwwroot\curstomerA\bin\
+ <Scripts> as virtualDirectory onto c:\inetpub\wwwroot\curstomerA\Scripts\
+ <Views> as virtualDirectory onto c:\inetpub\wwwroot\curstomerA\Views\
+ (...) [like above]
+ web.config
+ root-config.js
es keine Zugriffsrechte Problem sein kann; Auf einem lokalen Rechner entspannte ich die Zugriffsrechte auf die Ordner und es funktionierte immer noch nicht.
jetzt ist meine Frage: Warum funktioniert das nicht mit BIN-Ordner? Was muss ich tun, damit dies funktioniert?
oder kann ich nur missverstehen, wofür virtuelle Verzeichnisse verwendet werden? (Anmerkung: Ich habe gelesen https://www.iis.net/learn/get-started/planning-your-iis-architecture/understanding-sites-applications-and-virtual-directories-on-iis)
Es ist nicht wie erwartet funktioniert, weil das virtuelle Verzeichnis von IIS verwendet wird URL zu physischen Verzeichnissen entsprechen, aber der Web-Anwendung-Lookup für DLLs (in physikalischer directoris) im Ordner ist unten der Hauptordner, in dem sich web.config befindet. Es gibt Möglichkeiten, den Suchpfad in web.config [Angeben des Speicherorts einer Assembly] (https://msdn.microsoft.com/en-us/library/4191fzwb (v = vs.110) .aspx) zu ändern, jedoch bis zu Ich weiß, das funktioniert nur für Unterordner. –
danke, dieser Kommentar hat mich auf den richtigen Weg zur Lösung dieses Problems gebracht! – schmendrick