54

在 x64 Windows 7 上,我正在尝试使用 IIS Express 8 最新测试版让 hello world MVC 3 网站作为 64 位进程运行(因此 Environment.Is64BitProcess 在页面上返回 true)。

IIS Express 7.5 是 32 位,但 IIS Express 8 确实支持 64 位 ( http://learn.iis.net/page.aspx/1266/iis-80-express-beta-readme/ )。

无法获得任何 64 位的爱。

构建 AnyCpu 返回 Is64BitProcess false,构建 x64 给出“尝试加载格式不正确的程序。”就好像它试图以 32 位进程运行一样。

重命名文件夹等的实验表明“ C:\Program Files (x86)\IIS Express ”是唯一被使用的东西,而“ C:\Program Files\IIS Express”被 VS 忽略了。

如何让 VS 使用 x64 IIS Express 主机?

4

10 回答 10

84

此选项现在是 Vs 2013 / 2015 / 2017 的一部分:

工具 | 选项 | 项目和解决方案 | 网站项目 | 使用 64 位版本的 IIS Express

于 2014-04-30T13:21:19.813 回答
32

来自 Microsoft 对http://visualstudio.uservoice.com上论坛帖子的回复-

这对我有用,即使它没有得到 Microsoft 的正式认可或支持。

Mike Harder (Microsoft) 发表评论· 2013 年 1 月 31 日下午 5:26

您可以通过设置以下注册表项将 Visual Studio 2012 配置为使用 IIS Express 64 位:

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

但是,此功能不受支持,并且尚未经过 Microsoft 的全面测试。下一版本的 Visual Studio 正在考虑改进对 IIS Express 64 位的支持。

允许从 Visual Studio 2012 运行 IIS Express 64 位

于 2013-03-19T04:13:43.300 回答
6

派对迟到了,但 VS2013 在选项中有这个。

工具 -> 选项 -> 项目和解决方案 -> Web 项目 -> 使用 64 位版本的 IIS Express...</p>

于 2014-05-15T02:57:34.267 回答
4

在这种情况下,您必须从命令行启动 iisexpress,

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

因为我不确定微软何时会更新 VS 集成部分以允许您选择 x64 IIS Express。当前的集成显然只是 x86。

于 2012-04-18T07:44:29.950 回答
3

在注册表中,转到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\IISExpress\8.0\InstallPath并将路径更改为 64 位iisexpress.exe位置。

于 2013-01-28T15:40:27.813 回答
2

似乎创建除了启动 64 位 IIS 并将其放置在 32 位之外什么都不做的 EXE 就可以iisexpress.exe完成这项工作。

这是我用来创建 EXE 的 C# 代码:

using System.Diagnostics;

namespace IISExpress64
{
    class Program
    {
        static void Main( string[] args )
        {
            Process.Start( @"C:\Program Files\IIS Express\iisexpress.exe", string.Join( " ", args ) );
        }
    }
}
于 2013-01-23T16:47:21.440 回答
2

您可以从命令行以 64 位模式运行 IIS Express,然后使用 VS“附加到进程”进行调试。
看到这个问题
玩得开心。

于 2012-09-12T04:03:10.697 回答
2

执行以下操作以在 x64 上的 IIS8 Express 中的 x64 项目中运行 VS2012 项目。我正在运行 x64 WCF 服务。见下文,

  • 安装 x64 版本的IIS Express 8

  • 将项目设置为运行 x64 位。

在此处输入图像描述

  • 添加自定义 Web 服务器 URL。因为您不想在项目运行时启动服务(F5)。

在此处输入图像描述 - 编写一个bat文件并添加以下内容。放置 applicationhost.config 的正确 unc 位置和正确的项目名称。保存 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"
  • 运行 (F5) 项目。
  • 双击 bat 文件以启动 IIS Express 8 for x64。请参阅 Windows 任务管理器和 IIS Express 系统托盘。 在此处输入图像描述

在此处输入图像描述

于 2013-07-09T03:24:19.410 回答
1

简单的可能性就是将 IIS x64 设置为 WEB 项目的启动程序:

项目属性 -> Web -> 启动操作 -> 启动程序:c:\Program Files\IIS Express\iisexpress.exe 命令参数:/path:{yourProjectPath} /port:{yourPort}

于 2013-04-05T20:47:53.447 回答
-2

In order to solve this on my system, I cheated -- I copied the 64-bit executables (in \Program Files\IIS Express\) over the 32-bit executables (in \Program Files (x86)\IIS Express\). Visual Studio doesn't seem to care whether it's one or the other.

I guess we will have to wait and see if the final release of VS 2012 will allow for choosing between the 32-bit and 64-bit IIS Express.

于 2012-07-01T00:57:24.367 回答