【问题标题】:ASP.NET MVC 3 x86 project fails to compile on TFS Build server 2012ASP.NET MVC 3 x86 项目无法在 TFS 构建服务器 2012 上编译
【发布时间】:2012-12-02 14:06:11
【问题描述】:

我尝试在 TFS Build server 2012 上为 x86 ASP.NET MVC 3 项目设置构建定义。该项目在本地计算机上完美编译,没有警告(x86 / MSIL 不匹配没有警告)。

当我设置构建定义并运行构建时,我收到此错误:

ASPNETCOMPILER:无法加载文件或程序集“ASSEMBLY_NAME”或一个 其依赖项。试图加载一个带有 格式不正确。

我尝试在解决方案级别进行 x86 平台配置,以便能够将构建定义中的“构建配置”设置设置为 x86|Release,但没有成功。

我在 web.config 的编译部分中没有看到任何可以让我指定平台的选项。

是否可以设置一个构建定义,让我在 TFS Build server 2012 上构建 x86 ASP.NET MVC3 项目?

【问题讨论】:

    标签: asp.net-mvc-3 x86 tfsbuild


    【解决方案1】:

    听起来您在构建服务器上没有所需的组件。

    虽然谨慎的做法是让您可以通过 NuGet 引用的所有部分或在已知位置检查到版本控制中的所有部分,但构建服务器上总是需要超出此范围的内容。

    测试:您能否登录构建服务器,在 Visual Studio 中打开您的解决方案并成功构建它?

    如果不是,我建议您使用 Web Platform Installer 并选择 MVC 3 以及您可能需要的任何其他组件。本质上,您的构建服务器应该像您的开发工作站一样设置。是的,虽然不需要包含 Visual Studio 会很棒。如果您在 MSDN 范围内操作,除了您的开发人员工作站之外,在此处安装它不需要额外的许可,这很有帮助。事实上,它走得更远,并指出如果您拥有 Ultimate 的一个许可证,则可以安装它,并且每个人都可以将构建发送到构建服务器,无论他们获得许可的 MSDN 版本是什么......

    【讨论】:

    • 感谢您的提示,解决方案在构建服务器上构建时没有错误或警告。问题来自我设置为 true 的 MvcBuildViews。构建服务器编译器似乎不支持它。它可能链接到this question/answer
    • “构建服务器编译器”与 Visual Studio 中的编译器相同。事实上,构建服务器调用的实例与 Visual Studio 在本地调用的实例完全相同。传递的参数存在一些差异,这些差异通常会导致问题,但除此之外......
    【解决方案2】:

    解决方案是在项目中删除视图编译,因为构建服务器目前似乎不支持它:

     <MvcBuildViews>false</MvcBuildViews>
    

    如果您想在调试中继续在本地构建它们,您可以为每个配置指定不同的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 2012-06-11
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 2018-05-31
      相关资源
      最近更新 更多