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

标签 c# asp.net visual-studio-2010 debugging 64-bit

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

但是,如果我进入 Properties -> Build -> Platform Target 并将其更改为 x64。 enter image description here

当我选择“调试”->“开始调试”时,它会打开一个带有以下错误消息的网络浏览器:

“无法加载文件或程序集‘WebApplication’或其依赖项之一。尝试加载格式不正确的程序。”

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

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

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

在“调试”下拉菜单旁边的工具栏中,我只有一个选项“任何 CPU”:

enter image description here

如有任何帮助,我们将不胜感激。

最佳答案

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

这个问题讨论了 Visual Studio 2010 中使用的 WebDev 服务器的 64 位替代 Is Visual Studio 2010 WebDev WebServer (Cassini) 64-bit compatible? .

Microsoft 对 64 位 Web 应用程序的远程调试并不那么容易使用 How to: Debug 64-Bit Applications .

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

对于 VS2013:Debugging VS2013 Websites Using 64-bit IIS Express

Command-Line:

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

对于 VS2012:Allow for IIS Express 64 bit to run from Visual Studio 2012

You can configure Visual Studio 2012 to use IIS Express 64-bit by setting the following registry key:

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

关于c# - 在 Visual Studio 2010 中调试 x64 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23318412/

相关文章:

c# - 在 MonoTouch.Dialog 中设置按钮颜色

c# - Entity Framework Core - 不使用主键的两个表之间的关系

c# - 在 asp :textbox 上验证至少两个单词

visual-studio-2010 - 添加连接点错误?

visual-studio-2010 - Visual Studio 2010 不会为生成事件中的解决方案执行 msbuild 任务。如何解决这个问题?

c# - MongoDb C# GeoNear 查询构造

c# - 如何只为后面的 C# 代码中的选定链接添加类?

c# - SpecFlow 在查找程序集时抛出错误,但这不是我的 SpecFlow 项目?

c# - 窗口服务/网络服务

c++ - 为什么 MSVS 2010 MFC 项目依赖于 MSVS 2008 的 vcredist_x86.exe?