8

Wir betreiben einige unserer Websites als Website-Projekte in Visual Studio. Wir haben kürzlich auf VS2015 aktualisiert. Jetzt können wir keine virtuellen Verzeichnisse zu neuen Websites hinzufügen.Visual Studio 2015 - Hinzufügen eines virtuellen Verzeichnisses nicht möglich

Wir haben bereits versucht, mit der rechten Maustaste auf "Add new virtual direcory", wo wir eine Fehlermeldung sowie die Bearbeitung der applicationhost.config im Projektordner.

Ist das ein Fehler mit VS2015 oder gibt es eine Möglichkeit, die Verzeichnisse zu erstellen? Es gibt kein Problem mit einem Projekt, das bereits vor dem Upgrade auf VS2015 auf IIS Express ausgeführt wurde.

PS: Ich kenne den Thread here, aber es hilft nicht.

Antwort

6

FileSystem-Website zu IIS Express.

  1. öffnen VS2015 (Rechtsklick und Als Administrator ausführen auswählen).
  2. Klicken Sie auf Datei> Neu> Web-Site ...
  3. Im neuen Web-Site Dialog klicken Sie Durchsuchen ... Taste.
  4. Wählen Sie Local IIS im linken Bereich. Und wählen Sie IIS Express Sites im rechten Bereich.
  5. Es gibt 4 Tasten auf der rechten Seite oben. Klicken Sie auf Erstellen Sie eine neue Website Schaltfläche.
  6. Geben Sie einen Namen ein und klicken Sie auf . Öffnen Sie. Dadurch wird HTTP im Webverzeichnis ausgewählt.
  7. Klicken Sie auf OK.
  8. Schließen Sie dann die Lösung.
  9. Öffnen Sie applicationhost.config von Benutzer \\ Dokumente \ IISExpress \ config-Ordner. Sie können im Notizblock öffnen.
  10. Finden Sie Ihre Website in Websites Abschnitt. Und ändern Sie den physischen Pfad innerhalb (virtualDirectory path = "/" physicalPath = "C: \ WebApp \ WebSite1"). Schreiben Sie den Pfad Ihres bestehenden Webprojekts.
  11. Speichern und schließen Sie die Datei applicationhost.config.
  12. Führen Sie VS2015 (Führen Sie als Administrator).
  13. Klicken Sie auf Datei> Öffnen> Website ...
  14. Wählen Sie im Dialogfeld Website öffnen im linken Bereich die Option Lokaler IIS.
  15. Wählen Sie Ihre Website unter IIS Express Sites und klicken Sie auf Öffnen Sie.
  16. Klicken Sie Web Site Menü und Neues virtuelles Verzeichnis ...
  17. Geben Aliasname und Pfad-Ordner und klicken Sie auf OK.

Jetzt können Sie es ohne Fehler erstellen.

2

Alternative, wenn Sie Lösungsdatei „SLN“ haben, folgen Sie den Schritten:

  1. Verwenden Notizblock die Lösung Datei öffnen.

  2. die Zeile Suche beginnt mit Project ("{

Zum Beispiel:

Projekt (" {E24C65DC-7377-472B-9ABA-BC803B73C61A} ") =" WebProject1" , "WebProject1", ......

es dann ändern:

Projekt ("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "WebProject1", "http://localhost:12345/WebProject1", ......

Und fügen neue Eigenschaft

SlnRelativePath = "C: \ WebProject1 \"

innerhalb ProjectSection (WebsiteProperties)

In Beispiel die ProjectSection von

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "WebProject1", "WebProject1", "{6D411253-734E-401A-A049-9620FC55D4FB}" 
    ProjectSection(WebsiteProperties) = preProject 
     UseIISExpress = "true" 
     TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0" 
     Debug.AspNetCompiler.VirtualPath = "/WebProject1" 
     Debug.AspNetCompiler.PhysicalPath = "C:\WebProject1\" 
     Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\WebProject1\" 
     Debug.AspNetCompiler.Updateable = "true" 
     Debug.AspNetCompiler.ForceOverwrite = "true" 
     Debug.AspNetCompiler.FixedNames = "false" 
     Debug.AspNetCompiler.Debug = "True" 
     Release.AspNetCompiler.VirtualPath = "/WebProject1" 
     Release.AspNetCompiler.PhysicalPath = "C:\WebProject1\" 
     Release.AspNetCompiler.TargetPath = "PrecompiledWeb\WebProject1\" 
     Release.AspNetCompiler.Updateable = "true" 
     Release.AspNetCompiler.ForceOverwrite = "true" 
     Release.AspNetCompiler.FixedNames = "false" 
     Release.AspNetCompiler.Debug = "False" 
    EndProjectSection 
EndProject 

dies schließlich geworden:

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "WebProject1", "http://localhost:12345/WebProject1", "{6D411253-734E-401A-A049-9620FC55D4FB}" 
    ProjectSection(WebsiteProperties) = preProject 
     UseIISExpress = "true" 
     TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0" 
     Debug.AspNetCompiler.VirtualPath = "/WebProject1" 
     Debug.AspNetCompiler.PhysicalPath = "C:\WebProject1\" 
     Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\WebProject1\" 
     Debug.AspNetCompiler.Updateable = "true" 
     Debug.AspNetCompiler.ForceOverwrite = "true" 
     Debug.AspNetCompiler.FixedNames = "false" 
     Debug.AspNetCompiler.Debug = "True" 
     Release.AspNetCompiler.VirtualPath = "/WebProject1" 
     Release.AspNetCompiler.PhysicalPath = "C:\WebProject1\" 
     Release.AspNetCompiler.TargetPath = "PrecompiledWeb\WebProject1\" 
     Release.AspNetCompiler.Updateable = "true" 
     Release.AspNetCompiler.ForceOverwrite = "true" 
     Release.AspNetCompiler.FixedNames = "false" 
     Release.AspNetCompiler.Debug = "False" 
     SlnRelativePath = "C:\WebProject1\" 
    EndProjectSection 
EndProject 
+1

Diese Antwort funktionierte für mich, aber ich musste die location localhost.config löschen Im versteckten .vs-Ordner, den IIS Express verwendet, um die Anwendungsstruktur zu bestimmen. Nachdem ich die Website ausgeführt hatte, konfigurierte IIS Express die Anwendung mit dem richtigen virtuellen Verzeichnis. Vielen Dank! – Chartreugz

5

oben für mich Keine der Antworten gearbeitet, bin ich immer noch nicht, sicher, warum das funktioniert, aber hier ist, was ich getan habe:

Ändern Sie die Datei applicationhost.config, die im Projekt befindet:

Ursprünglich sah es so:

<site name="Website" id="2"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\...\MyWebsite" /> 
    </application> 

    <bindings> 
     <binding protocol="http" bindingInformation="*:51005:localhost" /> 
    </bindings> 
</site> 

Ich hatte einen anderen Anwendungspfad Eintrag hinzuzufügen:

<application path="/mywebsite" applicationPool="Clr4IntegratedAppPool"> 
    <virtualDirectory path="/" physicalPath="C:\...\MyWebsite" /> 
</application> 

So es endet suchen wie folgt:

<site name="Website" id="2"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\...\MyWebsite" /> 
    </application> 

    <application path="/mywebsite" applicationPool="Clr4IntegratedAppPool"> 
     <virtualDirectory path="/" physicalPath="C:\...\MyWebsite" /> 
    </application> 

    <bindings> 
     <binding protocol="http" bindingInformation="*:51005:localhost" /> 
    </bindings> 
</site> 
+1

Funktioniert perfekt für mich. Danke vielmals! Ich musste Hiddden-Ordner aktivieren, dann sah ich den Ordner ".vs" und dann änderte ich die Datei "**. Vs \ config \ applicationhost.config **" wie in Ihrer Antwort beschrieben. –