it-swarm.com.de

Welchen Zweck hat das Element <Use64BitIISExpress /> in der csproj-Datei?

Wenn ich ein Webanwendungsprojekt bearbeite, fügt Visual Studio 2017 (15.3.1) <Use64BitIISExpress /> Element unter Project/PropertyGroup in der csproj-Datei. Ich kann keine Dokumentation finden, was ist der Zweck und ob es etwas betrifft, wenn es präsentiert wird (so wie es ist, ohne Attribute).

Das einzige Ergebnis, das ich finden konnte, war die Erwähnung des gleichnamigen Registrierungswerts.

Weiß jemand, wofür dieses Element dient? Wurde es in einigen der letzten Updates von Visual Studio 2017 eingeführt?

43
Ondrej

Ich bemerkte diesen Eintrag nicht überraschend, nachdem ich die Seite Eigenschaften meines Projekts geändert hatte. Im Abschnitt "Web" der Seite "Eigenschaften" wird der Abschnitt "Server" angezeigt. Nachdem ich die "Projekt-URL" geändert hatte, um die richtige Portnummer für das Debuggen zu verwenden, wurde dieser Eintrag angezeigt (nicht, weil ich diese Option speziell geändert habe, sondern als ich bemerkte, dass sie angezeigt wurde).

<Use64BitIISExpress />

In diesem Bereich können Sie entweder "IIS Express" oder "Externer Host" auswählen. Neben dieser Dropdown-Liste gibt es eine weitere Dropdown-Liste für "Bitness". Meins war momentan auf "Standard" gesetzt, wodurch der Eintrag in der Projektdatei als leeres Element angezeigt wird. Nach dem Wechsel von "Bitness" zu "x64" änderte sich mein Projektdateieintrag in:

<Use64BitIISExpress>true</Use64BitIISExpress>

Das Ändern meines "Zeugen" in "x86" führt zu:

<Use64BitIISExpress>false</Use64BitIISExpress>

Wenn Sie "Bitness" auf "Default" zurücksetzen, wird es wieder zu einem leeren Element:

<Use64BitIISExpress>
</Use64BitIISExpress>

Ich verstehe, dass dies nicht Ihre Frage "Wo ist die Dokumentation?" Auch ich konnte keine relevante MSBuild-Dokumentation für dieses Attribut finden. Ich hielt es jedoch für erwähnenswert, festzustellen, woher das Attribut stammt und wie es auf der Grundlage ausgewählter Optionen in den Projekteigenschaften funktioniert, während wir gespannt auf eine offizielle Dokumentation warten.

42
Urk

Das (ziemlich offensichtliche) Ziel ist es, IIS Express im 64-Bit-Modus zu starten. Dies entspricht dem Festlegen von 64-Bit nur für den Anwendungspool in IIS.

Wenn Ihr Projekt einen Abhängigkeit von einem DLL, das nur unter 64-Bit läuft -Modus hat, müssen Sie diesen einstellen. Dies ist seit VS2013 verfügbar

Dies ist wahrscheinlich nützlich, wenn Sie das F5-Debuggen anstelle des erneuten Prozess-Anfügens für Ihre reinen 64-Bit-Anwendungen bevorzugen

Dies started showing up in the config files since VS2017 aufgrund aller Änderungen, die bei der Portabilität von Visual Studio vorgenommen wurden. (VSCode, Visual Studio Mac, Xamarin usw.)

8
Piotr Kula