我在 MVC3 Web 应用程序中引用了一个 DLL。它编译成功。MVC3 项目作为任何 CPU 配置属性运行。我启动了 IIS Express 7.5,并且一直看到 DLL 缺少其依赖项异常。
然后我创建了一个 Windows 应用程序并引用了 DLL,它运行良好。所以我意识到这与 IIS Express 设置有关。
dll是64位的。你能指导我吗
我在 MVC3 Web 应用程序中引用了一个 DLL。它编译成功。MVC3 项目作为任何 CPU 配置属性运行。我启动了 IIS Express 7.5,并且一直看到 DLL 缺少其依赖项异常。
然后我创建了一个 Windows 应用程序并引用了 DLL,它运行良好。所以我意识到这与 IIS Express 设置有关。
dll是64位的。你能指导我吗
IIS Express 8 有 64 位和 32 位版本,它们都安装在 64 位机器上。
请参阅this question on how to run IIS Express in 64 bit mode,然后附加到进程进行调试。
请参阅此问题的答案。IIS Express 7.5 只是一个 32 位应用程序,因此无法让它与 64 位 DLL 一起工作。Visual Studio 开发服务器也是如此。
您必须在完整版本的 IIS 中托管您的站点才能运行。您可以通过在项目属性的 Web 部分中选择“使用本地 IIS Web 服务器”来进行设置。
IIS Express 7.5 仅作为 32 位进程运行。要运行 64 位应用程序,您应该使用完整版的 IIS。
并确保您的应用程序池设置为在 64 位模式下运行。运行以下命令来做到这一点
appcmd 设置 apppool /apppool.name: /enable32BitAppOnWin64:false