在Visual Studio 2010中调试x64 Web应用程序

Bax*_*ter 2 c# asp.net debugging 64-bit visual-studio-2010

我在64位Windows 7计算机上使用Visual Studio 2010.
在Visual Studio中,我正在创建一个.NET 4 Visual C#ASP.NET空Web应用程序.
我将Default.aspx文件添加到项目中,文本为"Hello World".
如果我选择Debug - > Start Debugging,它会打开一个Web浏览器并正确显示文本.

但是,如果我进入属性 - >构建 - >平台目标并将其更改为x64. 在此输入图像描述

当我选择Debug - > Start Debugging时,它会打开一个Web浏览器,并显示以下错误消息:

"无法加载文件或程序集'WebApplication'或其依赖项之一.尝试加载格式不正确的程序."

"异常详细信息:System.BadImageFormatException:无法加载文件或程序集'WebApplication'或其依赖项之一.尝试加载格式不正确的程序."

但是,我可以将它部署到应用程序池上的单独的64位Windows 2008 r2 IIS服务器,并将"启用32位应用程序"设置为False,即使我向项目添加64位.dll,应用程序也能正常运行.

是否无法使用内置的Visual Studio开发服务器在Visual Studio中调试64位应用程序?

在Debug下拉列表旁边的工具栏中,我只有一个选项"Any CPU":

在此输入图像描述

任何有关这方面的帮助将不胜感激.

Ada*_*man 7

它与在32位应用程序中调试64位dll有关(用于调试的IIS的dev版本是32位).您必须在本地以32位模式进行调试,然后在部署时以64位为目标.

这个问题谈到Visual Studio 2010中使用的WebDev服务器的64位替换是否与Visual Studio 2010 WebDev WebServer(Cassini)64位兼容?.

微软不容易使用64位Web应用程序的远程调试如何:调试64位应用程序.

您可以尝试的另一件事是安装IIS Express.它将以64位模式运行,可用于调试目的.链接的文章实际上是针对VS2013的,但是将注册表路径从12.0更改为10.0以使其与VS2010一起使用.

对于VS2013:使用64位IIS Express调试VS2013网站

命令行:

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

对于VS2012:允许从Visual Studio 2012运行IIS Express 64位

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

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

  • 哦,非常感谢链接.看起来您可以从应用程序在Visual Studio 2013中将IIS Express设置为64位:Visual Studio 2013中现在有一个选项.选项| 项目和解决方案| 网站项目| 使用64位版本的IIS Express ... (2认同)