我尝试在TFS Build server 2012上为x86 ASP.NET MVC 3项目设置构建定义。该项目在没有警告的情况下在本地计算机上完美编译(没有x86 / MSIL不匹配的警告)。
当我设置构建定义并运行构建时,我收到此错误:
ASPNETCOMPILER:无法加载文件或程序集“ASSEMBLY_NAME”或其中一个 它的依赖关系。尝试加载带有的程序 格式不正确。
我尝试在解决方案级别进行x86平台配置,以便能够将构建定义中的“Configuration to Build”设置设置为x86|Release
,但没有成功。
我没有在web.config的编译部分看到任何可以让我指定平台的选项。
可以设置一个构建定义,让我在TFS Build server 2012上构建x86 ASP.NET MVC3项目吗?
答案 0 :(得分:0)
听起来您在Build Server上没有所需的组件。
虽然谨慎地拥有您可以通过NuGet引用或在已知位置检入版本控制的所有部分,但构建服务器上总是需要超出该部分的内容。
测试:您可以登录Build Server,在Visual Studio中打开解决方案并在那里成功构建它吗?
如果不是,我建议您使用Web Platform Installer并选择MVC 3以及您可能需要的任何其他组件。实质上,您的构建服务器应该像开发工作站一样进行设置。是的,虽然不包括Visual Studio会很棒。如果您在MSDN的范围内运行,除了您的开发人员工作站之外,没有额外的许可证要求在此处安装它。事实上,它进一步说明,如果您拥有Ultimate的一个许可证,您可以安装它,每个人都可以将构建版本发送到构建服务器,无论它们获得许可的MSDN版本......
答案 1 :(得分:0)
解决方案是删除项目中的视图编译,因为构建服务器目前似乎不支持它:
<MvcBuildViews>false</MvcBuildViews>
如果您希望在调试中继续在本地构建它们,则可以为每个配置的此设置指定不同的值。