加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – ASP.NET MVC 3.0构建视图为64位

发布时间:2020-12-16 07:09:44 所属栏目:asp.Net 来源:网络整理
导读:我需要构建一个MVC 3.0站点并专门针对x64.我试图构建我的MVC 3.0站点时遇到问题,平台目标设置为x64,MvcBuildViews设置为True.一切都很好,直到它尝试编译视图.如果我将Platform Target设置为AnyCPU,则所有内容都将编译,但是当设置为x64时,我会收到此错误: 无
我需要构建一个MVC 3.0站点并专门针对x64.我试图构建我的MVC 3.0站点时遇到问题,平台目标设置为x64,MvcBuildViews设置为True.一切都很好,直到它尝试编译视图.如果我将Platform Target设置为AnyCPU,则所有内容都将编译,但是当设置为x64时,我会收到此错误:

无法加载文件或程序集“Mvc64Bit”或其依赖项之一.尝试加载格式不正确的程序.

这可以通过创建一个空白的MVC 3.0项目,卸载项目,编辑项目文件以将MvcBuildViews项设置为“true”,重新加载项目,将Project的Build Properties中的Platform Target更改为x64,然后构建.

我无法在网上找到任何关于上述错误的信息,只是它处理不匹配的DLL(一个x32,一个x64),但这没有意义,除非视图构建引擎是32位或其他东西.

任何暗示我指向正确方向的提示都将非常感激.谢谢阅读!!

解决方法

我在这个问题上收到了微软的回复.我想发生的事情是Visual Studio调用一个32位编译器,将网站编译成64位DLL.之后,它再次为视图调用32位编译器.视图编译需要加载64位Web项目DLL以从定义的模型中获取信息.这是“格式不正确”的地方.32位编译器尝试加载64位Web项目DLL.

现在,从Visual Studio命令提示符调用64位aspnet_compiler.exe非常有效.但是,我想,由于Visual Studio是一个32位应用程序,它无法加载64位编译器.我不确定是否有任何方法可以调用64位,即使有一种方法,Visual Studio可能无法提供通常所做的错误列表(只是假设那里,因为我不知道如何Visual Studio调用编译器…一个简单的命令行执行工作,但它可能实际上加载DLL并从VS代码内部调用)

所以,我的工作是将MVCBuildViews = true声明放在属性中.然后我将MVCBuildViews = false放在’Release | AnyCPU’propertyGroup中,我让IIS在网站首次加载时编译视图.它不是完全预编译,但它会工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读