Kan IIS Express 8 beta niet krijgen om website als 64-bits proces uit te voeren

op x64 Windows 7 Ik probeer de hello world MVC 3-website als 64-bits proces te laten werken (dus Environment.Is64BitProcess retourneert true op een pagina) met behulp van de nieuwste bèta van IIS Express 8.

IIS Express 7.5 is 32-bits, maar IIS Express 8 ondersteunt 64-bits (http://learn.iis.net/page.aspx/1266/iis-80-express-beta-readme/).

Kan geen 64-bits liefde krijgen.

Het bouwen van AnyCpu retourneert Is64BitProcess false, het bouwen van x64 geeft “Er is een poging gedaan om een ​​programma met een onjuist formaat te laden.” alsof het probeerde te draaien als een 32-bits proces.

Experimenten met het hernoemen van mappen enz. suggereren dat “C:\Program Files (x86)\IIS Express” het enige is dat begint te wennen, en “C:\Program Files \IIS Express”wordt genegeerd door VS.

Hoe kan ik ervoor zorgen dat VS de x64 IIS Express-host gebruikt?


Antwoord 1, autoriteit 100%

Deze optie maakt nu deel uit van Vs 2013 / 2015 / 2017:

Gereedschap | Opties | Projecten en oplossingen | Webprojecten | Gebruik de 64
bit-versie van IIS Express


Antwoord 2, autoriteit 38%

Van een Microsoft-reactie op een forumbericht op http://visualstudio.uservoice.com

Dit werkt voor mij, ook al wordt het niet officieel goedgekeurd of ondersteund door Microsoft.

Mike Harder (Microsoft) heeft gereageerd· 31 januari 2013 17:26 uur

U kunt Visual Studio 2012 configureren om IIS Express 64-bit te gebruiken door
de volgende registersleutel instellen:

reg toevoegen
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects /v
Use64BitIISExpress /t REG_DWORD /d 1

Deze functie wordt echter niet ondersteund en is niet volledig getest
door Microsoft. Verbeterde ondersteuning voor IIS Express 64-bit is onder
overweging voor de volgende release van Visual Studio.

Laat IIS Express 64 bit draaien vanuit Visual Studio 2012


Antwoord 3, autoriteit 7%

Laat op het feest, maar VS2013 heeft dit in de Opties.

Extra -> Opties -> Projecten en oplossingen -> Webprojecten -> Gebruik de 64-bits versie van IIS Express…


Antwoord 4, autoriteit 5%

In dit geval moet u iisexpress starten vanaf de opdrachtregel,

http://learn .iis.net/page.aspx/870/running-iis-express-from-the-command-line/

Omdat ik niet zeker weet wanneer Microsoft het VS-integratiegedeelte zal updaten, zodat je x64 IIS Express kunt kiezen. De huidige integratie is uiteraard alleen x86.


Antwoord 5, autoriteit 4%

Ga in het register naar HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\IISExpress\8.0\InstallPathen wijzig het pad naar de 64-bits locatie iisexpress.exe.


Antwoord 6, autoriteit 2%

U kunt IIS Express in 64-bits modus uitvoeren vanaf de opdrachtregel en vervolgens VS “toevoegen aan proces” gebruiken om fouten op te sporen.
Zie deze vraag.
Veel plezier.


Antwoord 7, autoriteit 2%

Het lijkt erop dat het maken van een EXE die niets anders doet dan 64-bits IIS starten en het in de plaats van 32-bits iisexpress.exeplaatsen, voldoende is.

Dit is de C#-code die ik heb gebruikt om de EXE te maken:

using System.Diagnostics;
namespace IISExpress64
{
    class Program
    {
        static void Main( string[] args )
        {
            Process.Start( @"C:\Program Files\IIS Express\iisexpress.exe", string.Join( " ", args ) );
        }
    }
}

Antwoord 8, autoriteit 2%

Doe het volgende om het VS2012-project in het x64-project in IIS8 Express op x64 uit te voeren. Ik gebruik de x64 WCF-service. Zie hieronder,

  • Installeer X64-versie van IIS Express 8 .

  • Stel het project in om X64-bit uit te voeren.

  • voeg een aangepaste webserver-URL toe. Omdat u de service niet wilt starten wanneer het project wordt uitgevoerd (F5).


– Schrijf een BAT-bestand en voeg het volgende toe. Plaats de juiste UNC-locatie van de applicatiehost.config en de juiste projectnaam. Sla het BAT-bestand op.

cd "Program Files"/IIS Express 
iisexpress.exe  /config:"\\companyname.com\root\User-Profiles\testusername\Documents\IISExpress\config\applicationhost.config" /site:"YourProjectName.WcfHost" /apppool:"Clr4IntegratedAppPool"
  • RUN (F5) HET PROJECT.
  • Dubbelklik op het BBT-bestand om IIS Express 8 voor X64 te starten. Zie Windows Task Manager en IIS Express System-lade.


Antwoord 9

Eenvoudige mogelijkheid is gewoon om IIS X64 in te stellen als startprogramma voor het webproject:

Projecteigenschappen – & GT; Web – & GT; Start actie – & GT; Start-programma: C: \ Program Files \ IIS Express \ iisexpress.exe
Opdrachtargumenten: / pad: {uprojectpath} / poort: {YEPORT}


Antwoord 10

Om dit op mijn systeem op te lossen, vals speelde ik – ik heb de 64-bits executables (in \Program Files\IIS Express\) gekopieerd via de 32-bits executables (in \Program Files (x86)\IIS Express\). Visual Studio lijkt niet te geven of het een of de ander is.

Ik denk dat we moeten wachten en zien of de laatste release van vs 2012 zal toelaten om te kiezen tussen de 32-bits en 64-bit IIS Express.

Other episodes