4

我在 MVC3 Web 应用程序中引用了一个 DLL。它编译成功。MVC3 项目作为任何 CPU 配置属性运行。我启动了 IIS Express 7.5,并且一直看到 DLL 缺少其依赖项异常。

然后我创建了一个 Windows 应用程序并引用了 DLL,它运行良好。所以我意识到这与 IIS Express 设置有关。

dll是64位的。你能指导我吗

4

3 回答 3

3

IIS Express 8 有 64 位和 32 位版本,它们都安装在 64 位机器上。
请参阅this question on how to run IIS Express in 64 bit mode,然后附加到进程进行调试。

于 2012-09-12T03:59:26.857 回答
2

请参阅此问题的答案。IIS Express 7.5 只是一个 32 位应用程序,因此无法让它与 64 位 DLL 一起工作。Visual Studio 开发服务器也是如此。

您必须在完整版本的 IIS 中托管您的站点才能运行。您可以通过在项目属性的 Web 部分中选择“使用本地 IIS Web 服务器”来进行设置。

于 2012-05-24T23:39:21.580 回答
2

IIS Express 7.5 仅作为 32 位进程运行。要运行 64 位应用程序,您应该使用完整版的 IIS。

  1. 确保您的 MVC 应用程序的构建配置设置为“任何 CPU”。
  2. 并确保您的应用程序池设置为在 64 位模式下运行。运行以下命令来做到这一点

    appcmd 设置 apppool /apppool.name: /enable32BitAppOnWin64:false

于 2012-05-29T05:24:07.563 回答