Freitag, April 10, 2020

Wie Sie ein upgrade IIS 6 web-app, so dass es öffnet sich in visual studio auf dem Computer mit IIS 7

Meine web-apps erstellt in VS 2008 auf Windows Server 2003, weigern sich zu öffnen in VS 2008 auf Windows Server 2008.

„Web Application project „MyProjectName“ ist konfiguriert für die Verwendung von IIS. Für den Zugriff auf lokale IIS-Web-sites, müssen Sie Folgendes installieren IIS Komponenten: IIS 6-Metabasis und IIS 6-Konfiguration-Kompatibilität-Authentifizierung“.

Will ich nichts zu tun mit IIS 6, bin also nicht der Installation dieser Komponenten. Ich will rein IIS 7.

Gibt es ein upgrade tool oder etwas, was ich ändern kann, die in der Projekt-Datei, die es Ihnen ermöglichen, öffnen Sie in visual studio?

  • Diese Nachricht ist nur über den lokalen IIS-web-sites, nicht die Produktionsstätte.
  • Ja, ich habe es zu öffnen, durch das entfernen der Letzte Abschnitt <ProjectExtensions>. Insbesondere die <IISUrl> angegeben, dass der localhost-URL. Aber, wenn ich die selbe URL, mit der <CustomServerUrl> – tag statt, und starten Sie visual studio als admin an, funktioniert es! So wtf??? Es ist die gleiche lokale URL, aber wenn ich es so nennen, dann funktioniert es nicht? Omg.
  • Der Produktionsstandort lokalen. Wenn ich die lokale URL unter „Use Custom Web Server“, es funktioniert. Wenn ich die GLEICHEN lokalen URL unter „Use Local IIS Web Server“ – option rechts oben, es gibt mir Fehler. Das ist lächerlich.
InformationsquelleAutor Triynko | 2009-07-08

8 Kommentare

  1. 13

    Dies ist Bizarr. Das einzige, was ich ersetzen ist „<IISUrl> http://localhost/site </IISUrl>„; mit „<CustomServerUrl> http://localhost/site </CustomServerUrl>“ in die Datei des Projekts, und das Projekt geladen und debuggt (als admin) einfach nur gut.

    Warum ist diese änderung in der tag-Namen, die scheint, bieten die gleichen Informationen — die Projekt-URL-genug, um zu verhindern, dass das gesamte Projekt geladen. Inakzeptabel ist.

    • Ich hatte das gleiche problem. Ihr patch funktioniert Super!! Ich wünschte, Sie würde einen Verweis geben, wo Sie fand diese info.
    • Kein Verweis vorhanden ist, weil ich dachte, es aus mir. Beide tags vorhanden waren, und ich habe nur versucht, verschieben Sie die URL von einem tag auf den anderen gelöscht und die IISUrl tag, und es funktionierte. Es ist nur so, dass, wenn Sie die IISUrl tag, erwartet es, bestimmte Funktionen auf dem server vorhanden sein, die erfordern, dass der IIS 6-Kompatibilität. Wenn Sie CustomServerURL, dann Stell ich es verwendet generische Funktionen und vermeidet die Verwendung von IIS-spezifische Funktionen. Die tags sagen alles, ich bin nur überrascht, dies würde dazu führen, ein Projekt zu laden, zu scheitern, ohne jede Art von recovery-Optionen… einfach ABSTÜRZEN.
    • Ich habe versucht, aber ich glaube, dass es „funktioniert“ nur, weil Visual Studio nur wieder mit der Entwicklung von web-server, Cassini und IIS nicht. Wenn ich gehe dann in die Eigenschaften des Projekts >> Web, und versuchen Sie, es zu machen, verwenden Sie IIS neu, es gibt die gleiche Fehlermeldung, müssen Sie die IIS 6-Kompatibilität … Komponente. Kann das jemand bestätigen oder dis-bestätigen, dass Misstrauen?
    • Es „funktioniert“, weil das Projekt öffnet stattdessen stürzt Visual Studio. Es funktioniert auch, da Visual Studio nicht versuchen, verwenden Sie die IIS-spezifische Funktionen, die nicht mit IIS 7-ohne die Kompatibilität von Komponenten. Ändern Sie die Projekt-Datei, wie ich vorgeschlagen, wird in der Tat ermöglichen, das Projekt zu öffnen, die in Visual Studio 2008, Windows Server 2008, OHNE die IIS 6-Kompatibilität-Komponenten installiert sind. Das ist alles. Zum Debuggen im IIS 7 garantiert… kompilieren Sie das Projekt, veröffentlichen Sie es (wenn notwendig), fügen Sie den Visual Studio-debugger, um IIS 7 „w3wp.exe“ Prozess“, und öffnen Sie die URL in Ihren web-browser.
  2. 2

    Ich lief in das gleiche problem mit einer web-app Upgrade von VS2003 auf VS2010. In den Lösungen, die Datei gab es einen Abschnitt, der wie folgt aussah:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyProject", "http://localhost/MyProject/MyProject.csproj", "{B5D94F04-9681-4391-8323-E39BE66CD0C1}"
        ProjectSection(ProjectDependencies) = postProject
        EndProjectSection
    EndProject
    

    Ersetzte ich das „http://localhost/MyProject/MyProject.csproj“ mit „MyProject.csproj“. Ich auch gelöscht MyProject.csproj.webinfo-Datei, denn es hätte ein Verweis auf die gleichen virtuellen IIS-Verzeichnis.

    Einmal habe ich diese zwei änderungen, die VS2010-Konvertierungs-Assistenten schien, um richtig zu arbeiten und meine web-app geöffnet. Mein Projekt war nicht mehr abhängig von IIS.

    • Dies funktioniert perfekt – danke
  3. 1

    Weil ein tag ist zu sagen, dass der IIS hostet die Website und die andere ist zu sagen, dass eine eigene (andere) web-server ist.

    In den custom server, VS nicht versuchen, zu verwalten, nichts.

    In IIS, will Sie konfigurieren können, die Dinge wie virtuelle Verzeichnisse, Berechtigungen, ASP.NET config, etc.

    Ausgehend von der Fehlermeldung, VS glaubt, dass Ihre lokale Maschine ist nicht mit den Komponenten die es braucht, das zu tun.

    • Was web-server, der andere als der IIS, auf localhost (der gleichen Maschine, die von Visual Studio ausgeführt wird) wäre die Aufnahme eines „ASP.NET Web-Anwendung-Projekt“? Ja, das ist es, was ich dachte, IIS. Ich bin damit einverstanden, dass es scheint, zu denken, IIS 6-Komponenten installiert werden müssen, aber bedeutet das, dass Visual Studio 2008 ist unfähig, die Verwaltung von sites, die für die version von IIS (7) gemacht für Windows Server 2008? Eh, Visual Studio sollte nur zeigen Sie Benutzer auf den IIS-Management-Anwendung, damit Sie lernen, es zu benutzen gut, eher als temporär abzulenken Sie mit a [email protected]@ss3d Teilmenge der Funktionalität.
    • MONO. Cassini. Rollen Sie Ihre eigenen (das ist, was die service-end-points können mit denen Sie zu tun).
    • Schraube „Ihre eigenen Rollen“. Wir sollten nicht das Rad neu zu erfinden, um ausführen eine einfache Website! Wir sind einfach versuchen, verwenden Sie IIS und führen Sie einen fricking website! Einfach! Wenn wir können ‚ T führen Sie einfach eine einfache web-site im IIS7 ohne diese cornball Mist mit IIS 6, die ist unsinnig und irreführend. Ich hatte das gleiche problem heute, und ich denke, es ist lächerlich, dass wir kann nicht öffnen Sie eine WAP-Projekt in VS 2008 zimmerreserviereung, ohne das Sie installieren IIS 6 Komponenten. Ist nicht der ganze Zweck der IIS 7 „besser“? Ich meine, wenn wir ein neues .NET 3.5 Projekt, warum sollten wir auch haben, Sie zu berühren IIS 6! Es ist nicht abgeleitet und es ist einfach komisch.
  4. 1

    Ich hatte ein ähnliches problem, das öffnen einer Web-Anwendung-Projekt, das ich hatte aufgerüstet, vorher aus .Net 1.1
    Visual Studio 2008 verhinderte, dass ich mich öffnen Sie das Projekt auf die virtuelle Gast-server, da auf meinem host-OS habe ich keinen IIS oder Verwandte Komponente installiert
    die Lösung ist der rechten Maustaste auf den Namen des Projekts, die nicht geladen werden – alternativ öffnen Sie die .csproj-Datei in deinem Dateisystem und ändere den UseIIS Knoten auf false

  5. 1

    Einem anderen poster geschrieben, die folgenden:

    Müssen Sie gehen Sie zu Systemsteuerung, Schalten Sie
    Windows-Funktionen ein-oder ausschalten, erweitern Sie
    Internet Information Services, und
    finden Sie das Kontrollkästchen „IIS 6-Metabasis und IIS
    6-Konfiguration-Kompatibilität“. Diese
    Problem behoben, in meinem Fall (aber ich bin auf
    Windows 7)

    Trotz der Tatsache, dass diese checkbox in Windows 7 hat die Worte ‚IIS 6″ in der it ist, es doesn T scheinen zu implizieren, dass Sie können nicht verwenden Sie den IIS 7. In der Tat, die QuickInfo für die checkbox aktivieren „IIS 6-Metabasis und IIS 6-Konfiguration-Kompatibilität“ sagt der folgende:

    „Installieren von IIS-Metabasis und den compatibility-layer zu ermöglichen Metabasis Anrufe zu interagieren mit den neuen IIS 7-Konfiguration speichern.“

    Scheint mir das wenig zu tun mit IIS 6 und alles, was mit der Konfiguration von IIS 7 für die Interaktion mit legacy-Anwendungen. Neben der, durch anklicken dieser checkbox löste dieses Problem für mich.

    • Ob es ist ein Teil von IIS 6 für die Interaktion mit IIS 7 oder einem alten Stück IIS 6-code ausgeführt werden, die in IIS 7… das Endergebnis ist, dass es erlaubt, legacy-Protokolle, um zu arbeiten. Ich will nicht legacy-Protokolle arbeiten. Wenn es nicht funktionsfähig ist rein auf IIS 7, ich will es zum Absturz, so dass ich weiß, dass ich haben, um es zu aktualisieren.
  6. 0

    Müssen Sie gehen Sie zu Systemsteuerung, Schalten Sie Windows-Funktionen ein-oder ausschalten, erweitern Sie Internet Information Services, und finden Sie das Kontrollkästchen „IIS 6-Metabasis und IIS 6-Konfiguration-Kompatibilität“. Dieses Problem behoben, in meinem Fall (aber ich bin auf Windows 7)

    Hier im detail: http://msdn.microsoft.com/en-us/library/aa964620.aspx

    • -1: er ausdrücklich gesagt er will nichts zu tun mit IIS 6.
    • +1 weil trotz der original-poster ist die Ablehnung eines solchen Ansatzes, es ist eine schnelle und praktische alternative, die für einen großen shop, wo Projekt änderungen an der Konfiguration mehr potentielle Auswirkungen.
  7. 0

    Öffnen Sie die *.csproj-Datei in Editor, und suchen Sie alle Verweise auf True, schalten Sie Sie auf false.

    Ihr Projekt wird geöffnet. Sie können Sie weiter Bearbeiten Sie die Eigenschaften mit Hilfe der GUI, wenn Sie so wollen (port, url, etc.)

Kostenlose Online-Tests