我有一个 VS2012 解决方案,可以简化如下:一个 asp.net mvc 4 Web 应用程序、一个中间 C# 类库项目和一个用于计算等的最终 C# 库项目。
该 Web 应用程序当前没有对其他项目的引用,并且在构建时配置为“任何 CPU”。最终项目是x64。我现在想通过中间项目将 Web 应用程序加入到最终项目,但是当尝试从 Web 应用程序引用中间 x64 项目时,我可以理解出现架构类型错误。如果我将 Web 应用程序设置为 x64,我也会收到相同类型的错误。
Web 应用程序将在 x64 服务器上运行,因此我认为最简单的方法是将 Web 应用程序设置为 x64,但我相信您可能无法追溯更改它,即它需要创建为 x64。
我的问题是我可以将现有的 Web 应用程序转换为 x64 吗?如果没有,我如何创建 x64 Web 应用程序(我看不到任何选项)
编辑:即使当我设置一个新的 mvc 4 项目,将构建设置更改为 x64 我仍然遇到这个问题。
您会惊讶地发现我对软件开发非常陌生,尽管 x86 和 x64 之间的构建错误看起来很直观,但我并不真正理解原因。似乎有很多关于这个主题的帖子,答案都是“将所有项目更改为任何 Cpu,但我只能将最终项目保留为 x64”。
我使用的是 Windows 8 和 IIS 8。
作为参考,将中间项目的引用添加到 Web 应用程序时收到的构建警告是:
警告 1 正在构建的项目“MSIL”的处理器体系结构与参考 C:\MyPath\Sln\MiddleProject\bin\x64\Debug\MiddleProject.dll”、“AMD64”的处理器体系结构之间不匹配。此不匹配可能会导致运行时故障。请考虑通过配置管理器更改项目的目标处理器架构,以便使项目和引用之间的处理器架构保持一致,或者依赖于具有与目标处理器架构匹配的处理器架构的引用你的项目。
我对同样的问题进行了大量的挖掘才能找到答案。事实证明,您需要让 IIS Express 作为 64 位进程运行。你是怎样做的?
在 VS 中更改此:工具|选项|项目和解决方案|网络项目|使用 64 位版本的 IIS Express
我希望这有助于解决您的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)