【发布时间】:2015-06-28 16:27:13
【问题描述】:
我有一个所有项目都针对 .NET v4.5.1 的解决方案。
TeamCity (v9.0.4) 之前构建的解决方案很好。
在解决方案中添加了一个 Asp.Net Web 应用程序 (MVC + WebAPI),仍然针对 .NET 4.5.1。
它Works on My Machinetm,但 TeamCity 现在构建失败并出现以下 MSBuild 错误:
[src\app\Web\Web.csproj] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(186, 67): 错误 MSB4025 : 无法加载项目文件。有一个未闭合的文字字符串。第 186 行,位置 67。
打开 .csproj 文件时,违规行对应于以下部分的第一行:
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
知道是什么原因造成的吗?
到目前为止我所做的尝试:
- 评论了我认为有问题的部分。没有变化。
- 删除了我认为有问题的部分。没有变化。
- 意识到行号可能参考了目标文件。
- 已尝试完全移除/删除并重新创建 Web 应用程序。
- 尝试在 Visual Studio 2013 中创建一个新的 Web 项目并提交该项目。还是失败了。
- 已提交a bug report on this,因为它确实看起来不应该发生。
我想不出任何其他线索或我们正在以非标准方式做的任何事情。
【问题讨论】:
-
你能告诉我你是否通过 NuGet 提取 MVC 引用吗?如果没有,那么您需要在构建代理上安装 MVC。
-
@DevOps 这是一个很好的领导;我会尽快检查,谢谢!
-
解决了这个问题吗?
-
@DevOps 还不能检查出来;别担心,它是为客户准备的,不会被我忽视。 :) 我会在测试后立即回来查看。
-
@DevOps 所以我认为默认 MVC 网站中的一个或多个包正在使用来自 GAC 的 Tasks.Dataflow(尽管我无法确认)。此外,当 MSBuild 运行时,它似乎有一个应用程序库,即 MSBuild 目录,而不是我的应用程序。打算在这里发布日志并再搞砸一些......
标签: asp.net .net asp.net-mvc msbuild teamcity