在 Visual Studio 2015 中为调试模式运行 iisexpress 32 位而不是 64 位

Posted

技术标签:

【中文标题】在 Visual Studio 2015 中为调试模式运行 iisexpress 32 位而不是 64 位【英文标题】:Run iisexpress 32 bits instead of 64 bits for debug mode in Visual Studio 2015 【发布时间】:2019-09-27 12:00:26 【问题描述】:

我有一个引用 32 位 DLL 的 Web 项目。在 IIS 上,我通常在应用程序池上设置启用 32 位应用程序属性,它运行良好。我尝试通过在 Visual Studio 2015 的 iisexpress 上运行代码来在本地调试代码,但出现错误的图像格式异常。

我确保未选中 tools->options 中的“使用 64 位版本的 iis express”复选框。

我也没有运气将平台目标设置为 x86。

有什么想法吗?

【问题讨论】:

【参考方案1】:

此错误的原因“无法加载文件或程序集或其依赖项之一。试图加载格式不正确的程序。”属于 IISExpress:我的 PC 是 64 位的,但由于某些原因,IISExpress 默认将 WCF 设置为 x86。

要解决此错误,如果您希望将 IIS Express 默认作为 64 位进程运行,则可以进行一次注册表更改。

    导航到:Computer\HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\WebProjects 确保有一个名为“Use64BitIISExpress”的 REG_DWORD 值。如果没有,请创建它。 将其值设置为 1(默认值 = 0)。

测试:windows server 2019 64 bit 和 Visual Studio 2015

问候,

哈尔帕

【讨论】:

谢谢,我的情况实际上是相反的,vs 使用的是 64 位,而我想使用 32 位。我尝试使用您的指示,但将“Use32BitIISExpress”设置为 1。我也尝试将“Use64BitIISExpress”设置为 0,但没有运气。

以上是关于在 Visual Studio 2015 中为调试模式运行 iisexpress 32 位而不是 64 位的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Visual Studio 代码中为“npx”启动的应用程序启动调试

在 Visual Studio 2008 中为 .Net 托管应用程序从 WinDbg 调试 .dmp 文件

在 Visual Studio 2015 中为自定义代码分析器抑制警告

在 Visual Studio 2013 中为性能分析器设置环境变量

如何在 Visual Studio 2015 中为 Typescript 的 typings.json 添加类型?

Visual Studio 2015 远程调试(联调)