sur x64 Windows 7, j'essaie d'obtenir le site Web Hello World MVC 3 en tant que processus 64 bits (donc Environment.Is64BitProcess renvoie true sur une page) en utilisant IIS Express 8 dernière version bêta d'Express 8.
IIS Express 7.5 est 32 bits mais IIS Express 8 prend en charge 64 bits ( http://learn.iis.net/page.aspx/1266/iis-80-express- readme bêta / ).
Impossible d'obtenir un amour 64 bits.
La construction d'AnyCpu renvoie Is64BitProcess false, la construction de x64 donne "Une tentative a été effectuée pour charger un programme avec un format incorrect." Comme s'il essayait de s'exécuter en tant que processus 32 bits.
Des expériences avec renommer des dossiers, etc. suggèrent que " C:\Program Files (x86)\IIS Express " est la seule chose qui est utilisée, et " C:\Program Files\IIS Express " est ignoré par VS.
Comment puis-je demander à VS d'utiliser l'hôte x64 IIS Express)?
Cette option fait désormais partie de Vs 2013/2015/2017:
Outils | Options | Projets et solutions | Projets Web | Utilisez la version 64 bits de IIS Express
À partir d'une réponse de Microsoft à un message du forum sur http://visualstudio.uservoice.com -
Cela fonctionne pour moi même s'il n'est pas approuvé ou pris en charge officiellement par Microsoft.
Mike Harder (Microsoft) a commenté · 31 janvier 2013 17h26.
Vous pouvez configurer Visual Studio 2012 pour utiliser IIS Express 64 bits en définissant la clé de Registre suivante:
reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects/v Use64BitIISExpress/t REG_DWORD/d 1
Cependant, cette fonctionnalité n'est pas prise en charge et n'a pas été entièrement testée par Microsoft. Prise en charge améliorée de IIS Express 64 bits est à l'étude pour la prochaine version de Visual Studio.
Autoriser l'exécution de IIS Express 64 bits à partir de Visual Studio 2012
Tard dans la fête mais VS2013 l'a dans les Options.
Outils -> Options -> Projets et solutions -> Projets Web -> Utilisez la version 64 bits de IIS Express…
Vous devez lancer iisexpress à partir de la ligne de commande dans ce cas,
http://learn.iis.net/page.aspx/870/running-iis-express-from-the-command-line/
Comme je ne sais pas quand Microsoft mettra à jour la partie d'intégration VS pour vous permettre de choisir x64 IIS Express. L'intégration actuelle est évidemment x86 uniquement.
Dans le registre, accédez à HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\IISExpress\8.0\InstallPath
et modifiez le chemin d'accès à l'emplacement 64 bits iisexpress.exe.
Procédez comme suit pour exécuter le projet VS2012 dans le projet x64 dans IIS8 Express sur x64. J'exécute le service WCF x64. Voir ci-dessous,
Installez la version x64 de IIS Express 8 .
Définissez le projet pour exécuter x64 bits.
- Écrivez un fichier bat et ajoutez ce qui suit. Placez l'emplacement UNC correct du fichier applicationhost.config et le nom de projet correct. Enregistrez le fichier bat.
cd "Program Files"/IIS Express
iisexpress.exe /config:"\\companyname.com\root\User-Profiles\testusername\Documents\IISExpress\config\applicationhost.config" /site:"YourProjectName.WcfHost" /apppool:"Clr4IntegratedAppPool"
Vous pouvez exécuter IIS Express en mode 64 bits à partir de la ligne de commande, puis utiliser VS "attach to process" pour déboguer.
Voir cette question .
S'amuser.
Il semble que la création d'EXE qui ne fasse rien d'autre que de démarrer 64 bits IIS et de le mettre à la place de 32 bits iisexpress.exe
Fait le travail.
Voici le code C # que j'ai utilisé pour créer l'EXE:
using System.Diagnostics;
namespace IISExpress64
{
class Program
{
static void Main( string[] args )
{
Process.Start( @"C:\Program Files\IIS Express\iisexpress.exe", string.Join( " ", args ) );
}
}
}
La possibilité simple consiste simplement à définir IIS x64 comme programme de démarrage pour le projet WEB:
Propriétés du projet -> Web -> Démarrer l'action -> Démarrer le programme: c:\Program Files\IIS Express\iisexpress.exe arguments de la commande:/chemin d'accès: {yourProjectPath}/port: {yourPort}