gpt4 book ai didi

visual-studio - Azure DevOps 构建失败警告 MSB3245 : Could not resolve this reference

转载 作者:行者123 更新时间:2023-12-03 01:41:08 25 4
gpt4 key购买 nike

我尝试在 Azure DevOps 中创建管道,但由于缺少引用而出现编译错误:

[warning]C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2110,5): Warning MSB3245: Could not resolve this reference. Could not locate the assembly "ABC". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

我有一个包含 2 个项目的 VS2017 解决方案。

  1. ABC 是实际的应用程序

  2. ABC.UnitTests,我在其中添加了一些单元测试(我正在使用 MSTest)

当我在本地构建解决方案时,我可以通过以下步骤成功构建:

  1. 构建 ABC 项目 => 生成 ABC.dll

  2. 将 ABC.UnitTests 项目中的引用添加到 ABC.dll

  3. 构建整个解决方案 => 构建成功

ABC.UnitTests 中的 .cs 文件以这种方式引用应用程序,并生成上面的警告:

using ABC; 

如果我执行干净构建(删除 ABC.dll),然后构建整个解决方案,我会收到相同的 MSB3245 警告。因此,如果 dll 不存在,该问题可以在本地重现。

然后,当我将解决方案上传到 Azure DevOps 时,我会执行以下步骤。

  1. 从本地 VS2017 上传解决方案,并在 Azure 中创建项目
  2. 在 Azure DevOps 中构建项目 => 报告引用问题

我有一个名为 azure-pipelines.yml 的 YAML 配置文件,它引用托管的 2017 代理。

pool: vmImage: 'vs2017-win2016' 

替代流程:

  1. 从本地 VS2017 上传解决方案,并在 Azure 中创建项目
  2. 注释掉 sln 文件中对 ABC.UnitTests 项目的引用
  3. 创建管道 => 构建成功。

最佳答案

您不应该引用评论中提到的任何 DLL。

正确的方法是引用为项目。这样 DLL 在构建过程中会自行处理

正确的方法是引用 ->(右键单击)添加引用 -> 使用项目选项卡,您可以选择生成该 DLL(程序集)的项目

可以引用这个SO

关于visual-studio - Azure DevOps 构建失败警告 MSB3245 : Could not resolve this reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53243123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com