【问题标题】:Visual Studio Team Services build fails because CoreCompile does not reference NuGet assemblyVisual Studio Team Services 构建失败,因为 CoreCompile 不引用 NuGet 程序集
【发布时间】:2018-01-26 19:33:19
【问题描述】:

我遇到了一个奇怪的问题,我的构建在本地机器上运行良好,但在 Visual Studio Team Services 构建代理上几乎总是失败。我说几乎总是相同的代码有时在 VSTS 构建代理上构建得很好。

错误是我的解决方案中的一个项目,编译器找不到 System.Web.Http.dll,它在 Microsoft.AspNet.WebApi.Core NuGet 包中被引用。我检查了参考,它就在那里。我已删除 NuGet 并重新添加它以修复任何潜在的 NuGet 问题。

确切的错误是这样的:

错误 CS0234:命名空间“System.Web”中不存在类型或命名空间名称“Http”(您是否缺少程序集引用?)

引用在csproj文件中:

<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <HintPath>..\..\Microsoft.AspNet.Cors.5.2.3\lib\net45\System.Web.Cors.dll</HintPath>
</Reference>

VSTS 的 NuGet 还原任务提示已安装所有 NuGet 包,但构建仍然失败。

然后,我从 Visual Studio Team Services 构建代理对成功构建和失败构建的命令行进行了比较,发现失败的构建 CoreCompile 任务缺少一些程序集引用。

CoreCompile 从 ResolveAssemblyReferences 获取要引用的程序集。但是 ResolveAssemblyReferences 声称它找不到 System.Web.Http.dll。

对于搜索路径“{HintPathFromItem}”。 考虑“....\Microsoft.AspNet.WebApi.Core.5.2.2\lib\net45\System.Web.Http.dll”,但它不存在。

从 VSO 还原 NuGet 是否存在任何已知问题?我们正在使用 NuGet 4.0。

更新:

Visual Studio 团队服务支持又回来了。我有自己的 nuget.config,它有以下 2 行。这干扰了构建代理上的全局 NuGet 缓存。一旦我删除了这两行,一切都按预期顺利进行。

<add key="globalPackagesFolder" value="..\nupkgs" />
<add key="PackageSaveMode" value="nuspec" />

【问题讨论】:

  • 请添加您自己的更新作为答案。
  • 解决方案在帖子本身。基本上我们搞乱了导致零星故障的全局包文件夹。
  • 但这不是 StackOverflow 的工作方式。如果您已经找到答案,请自行回答。这样,它就会被标记为已修复,并且不会出现在试图帮助他人的人面前。它还将帮助其他有类似问题的人在您的帖子中寻求帮助。见:stackoverflow.com/help/self-answer

标签: visual-studio-2017 azure-devops azure-pipelines nuget-package-restore azure-pipelines-build-task


【解决方案1】:

看起来,在某些时候,此引用是手动添加的,并且相对路径在您的本地 PC 上匹配。

在我见过的每个有效的 nuget 参考中,这些相对路径都以“包”为前缀。尝试删除 nuget 包,并删除此引用,然后重新安装。

【讨论】:

  • 感谢您的建议。尽管我的问题不是由此引起的,但这个建议很有帮助,因为我之前不得不做这样的事情来解决一些 NuGet 参考问题。
【解决方案2】:

这是我遇到的问题的答案。

Visual Studio 团队服务支持又回来了。我有自己的 nuget.config,它有以下两行。这干扰了构建代理上的全局 NuGet 缓存。一旦我删除了这两行,一切都按预期顺利进行。

<add key="globalPackagesFolder" value="..\nupkgs" />
<add key="PackageSaveMode" value="nuspec" />

【讨论】:

    猜你喜欢
    • 2017-11-26
    • 2013-12-14
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    相关资源
    最近更新 更多