【问题标题】:MSBuild now failing to resolve referencesMSBuild 现在无法解析引用
【发布时间】:2014-04-23 02:24:04
【问题描述】:

我们的 CI 环境中有几个项目已经成功构建。上周末,我们的 IT 团队安装了 Azure SDK 更新包,从那时起,我们的项目就不再构建(即使他们不引用 Azure)。

我们构建项目的方式是

<MSBuild Condition="'$(BuildProject)' != ''" Projects="@(Projects)"
         Properties="Platform=$(Platform);Configuration=$(Configuration);OutDir=$(TempProjectFilesPublish)\bin\;WebProjectOutputDir=$(TempProjectFilesPublish)"
         Targets="Build"
         ContinueOnError="false">

其中@(Projects) 是对解决方案文件夹的引用。

<Projects Include="$(BuildProject)"/>

问题在于解决项目引用。周末什么都没有改变。项目引用是正确的,csproj 文件具有适当的值,没有进行任何新项目或代码更改,这让我认为有些事情被打乱了。

想知道是否有人知道 MSBuild 的任何更改会影响到这一点?

【问题讨论】:

  • 启用 MSBuild 日志记录(例如 /v:diag)并分析故障。
  • 你之前有什么版本的 Azure SDK?你现在有了吗?

标签: azure msbuild msbuild-task msbuild-4.0 azure-sdk-.net


【解决方案1】:

这个问题最终成为 Azure SDK 2.3 中的一个错误,与 Newtonsoft.JSON dll 发生冲突。

SDK 将 4.5 构建版本安装到 GAC 中,它将项目中的任何 Newtonsoft 引用覆盖到 4.0。

https://connect.microsoft.com/VisualStudio/feedback/details/850425/windows-azure-vs-tools-breaking-msbuild-for-web-projects

Microsoft 已声明这将在 2.4 中修复。

【讨论】:

    【解决方案2】:

    我在使用 Azure SDK v2.9 时遇到了同样的问题。我暂时通过卸载“Microsoft Azure Library for .NET v2.9”修复了构建。

    P.S.:不幸的是,mickyjtwin 在答案中提供的链接不再有效。

    P.P.S.:以下问题似乎是相关的: Visual Studio keeps overwriting NewtonSoft.Json.DLL with an older version

    【讨论】:

      猜你喜欢
      • 2011-08-09
      • 1970-01-01
      • 2021-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多