在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快照“”正在被VS忽略。
如何让VS使用x64 IIS Express主机?
答案 0 :(得分:82)
此选项现在是Vs 2013/2015 / 2017的一部分:
工具|选项|项目和解决方案|网站项目|使用64 IIS Express的位版本
答案 1 :(得分:32)
从微软回复http://visualstudio.uservoice.com上的论坛帖子 -
这对我有用,即使它没有得到微软的正式认可或支持。
Mike Harder(微软)发表评论·2013年1月31日下午5:26
您可以将Visual Studio 2012配置为使用IIS Express 64位 设置以下注册表项:
reg add HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ WebProjects / v 使用64BitIISExpress / t REG_DWORD / d 1
但是,此功能不受支持且尚未经过全面测试 由微软。改进了对IIS Express 64位的支持 考虑下一个Visual Studio版本。
答案 2 :(得分:6)
晚会,但VS2013在选项中有这个。
工具 - >选项 - >项目和解决方案 - >网络项目 - >使用64位版本的IIS Express ...
答案 3 :(得分:3)
在这种情况下,您必须从命令行启动iisexpress,
http://learn.iis.net/page.aspx/870/running-iis-express-from-the-command-line/
由于我不确定Microsoft何时更新VS集成部件以允许您选择x64 IIS Express。目前的集成显然只是x86。
答案 4 :(得分:3)
在注册表中,转到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\IISExpress\8.0\InstallPath
并将路径更改为64位 iisexpress.exe 位置。
答案 5 :(得分:2)
执行以下操作,在x64上的IIS8 Express中的x64项目中运行VS2012项目。我正在运行x64 WCF服务。见下文,
安装IIS Express 8的x64版本。
将项目设置为运行x64位。
- 写一个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"
答案 6 :(得分:1)
您可以从命令行以64位模式运行IIS Express,然后使用VS“attach to process”进行调试。
见this question。
玩得开心。
答案 7 :(得分:1)
似乎创建EXE除了启动64位IIS并将其置于32位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 ) );
}
}
}
答案 8 :(得分:1)
简单的可能性就是将IIS x64设置为WEB项目的启动程序:
项目属性 - >网络 - >开始行动 - >启动程序:c:\ Program Files \ IIS Express \ iisexpress.exe 命令参数:/ path:{yourProjectPath} / port:{yourPort}
答案 9 :(得分:-3)
为了在我的系统上解决这个问题,我作弊 - 我在32位可执行文件(\Program Files\IIS Express\
)中复制了64位可执行文件(在\Program Files (x86)\IIS Express\
中)。 Visual Studio似乎并不关心它是一个还是另一个。
我想我们将不得不等待,看看VS 2012的最终版本是否允许在32位和64位IIS Express之间进行选择。