【问题标题】:TeamCity + ASP.NET Webapp: Error about unclosed string literal?TeamCity + ASP.NET Webapp:关于未闭合字符串文字的错误?
【发布时间】: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


【解决方案1】:

在这种情况下,答案(虽然不是一个确切的答案)是安装 Build Tools 2015。安装后,安装的 MSBuild 版本似乎可以正常工作。

不幸的是,必要性迫使我们在这次没有真正解决问题的情况下解决症状。

【讨论】:

    猜你喜欢
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    相关资源
    最近更新 更多