Asp.net mvc 为什么可以';t我将asp.net mvc 4项目设置为x64

Asp.net mvc 为什么可以';t我将asp.net mvc 4项目设置为x64,asp.net-mvc,Asp.net Mvc,我有一个VS2012解决方案,可以简化为:一个asp.net mvc 4 web应用程序、一个中间c#类库项目和一个用于计算的末端c#库项目等 web应用程序当前没有对其他项目的引用,并且在构建时配置为“任何CPU”。最终项目是x64。我现在想通过中间项目将web应用程序加入到最终项目中,但在尝试从web应用程序引用中间x64项目时,会出现架构类型错误。如果我将web应用程序设置为x64,我也会收到相同类型的错误 web应用程序将在x64和x64服务器上运行,因此我认为最简单的方法是将web应用

我有一个VS2012解决方案,可以简化为:一个asp.net mvc 4 web应用程序、一个中间c#类库项目和一个用于计算的末端c#库项目等

web应用程序当前没有对其他项目的引用,并且在构建时配置为“任何CPU”。最终项目是x64。我现在想通过中间项目将web应用程序加入到最终项目中,但在尝试从web应用程序引用中间x64项目时,会出现架构类型错误。如果我将web应用程序设置为x64,我也会收到相同类型的错误

web应用程序将在x64和x64服务器上运行,因此我认为最简单的方法是将web应用程序设置为x64,但我相信,在这种情况下,您可能无法追溯更改它,即需要将其创建为x64

我的问题是我可以将现有的web应用程序转换为x64吗?如果没有,如何创建x64 web应用程序(我看不到任何选项) 编辑:即使我设置了一个新的MVC4项目,将构建设置更改为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中更改此选项: 工具|选项|项目和解决方案| Web项目|使用64位版本的IIS Express


我希望这有助于解决您的问题。

右键单击“项目->属性->构建”,并将平台目标更改为您想要的体系结构。

@Aaron,中间项目可以是64或32,但最终项目需要是64。我的第一个方法是将web应用程序和中间项目保留为任何Cpu,但当从中间项目引用最终项目时,我仍然遇到相同的问题。如果将所有3个项目都设置为x64,则编译应该不会有任何问题。但是,根据您在VisualStudio中配置引用的方式,您可能会遇到问题。您是否将引用配置为文件引用或项目引用?我始终使用项目引用。我已经尝试将所有项目设置为x64,但没有任何运气。我也尝试过一些组合。这是我在x64中无法运行的web应用程序。我甚至在64位笔记本电脑上尝试过,但运气不好(即创建新的应用程序,更改为x64并运行)。我浏览过许多IIS文件,寻找x86或32位的引用,但运气不好。顺便说一下,这是IIS Express,以防万一……您是否可以简单地创建一个新的MVC4应用程序并为x64构建?或者我需要先配置IIS Express?好的。因此,您会收到编译时警告,并认为这会导致运行时问题。实际上,您需要做的是让IIS Express作为64位进程运行。该警告是相关的,但可能不是运行时问题的原因。我不熟悉IIS Express,但我发现这些链接应该对您有所帮助。看在Thor的份上,为什么VS不能自己解决这个问题?谢谢这就是罪魁祸首