首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Azure DevOps获取运行DevOps的错误

从Azure DevOps获取运行DevOps的错误
EN

Stack Overflow用户
提问于 2019-10-02 11:16:14
回答 1查看 650关注 0票数 0

我试图在Azure DevOps中向构建管道中添加一个任务,以便使用dotCover命令行工具计算代码覆盖率。但是,我得到了以下错误。

未处理异常: System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.VisualStudio.QualityTools.Common、Version=14.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a‘或其依赖项之一。系统找不到指定的文件。

在Microsoft.VisualStudio.TestTools.RunnerCommandline.Runner.Main(String[] args)

我将程序集Microsoft.VisualStudio.QualityTools.Common的引用添加到我们的测试项目中,并将设置为true,以便将其复制到bin文件夹中。

下面是我执行dotCover的命令(我将dotCoverMSTEST添加到我们的项目中,以便我们可以从Azure DevOps运行它)。

/TargetArguments="/testcontainer:\MyServices.Tests\bin\MyServices.Tests.dll“

dotCover.exe分析/TargetExecutable="Tools\MSTest\MSTest.exe”Tools\MSTest\MSTest.exe/Output=output.html“/ReportType=”

更新09.10.2019

这里是对我的.csproj中的程序集的引用。我添加了对程序集的v15的引用。

代码语言:javascript
复制
<Reference Include="Microsoft.VisualStudio.QualityTools.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
EN

回答 1

Stack Overflow用户

发布于 2019-10-03 07:59:46

从Azure DevOps获取运行dotCover时的错误

众所周知,程序集Microsoft.VisualStudio.QualityTools.Common是Visual的一部分。

当您将程序集Microsoft.VisualStudio.QualityTools.Common添加到测试项目时,您将在项目文件.csproj中得到以下结果。

代码语言:javascript
复制
  <ItemGroup>
    <Reference Include="Microsoft.VisualStudio.QualityTools.Common, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
  </ItemGroup>

即使您将Copy Local设置为true,以便将其复制到bin文件夹中。但是默认情况下,\bin文件夹会被.gitignore/.tfignore忽略。使用Azure构建项目时,它仍将从PublicAssemblies文件夹中搜索dll文件。

如果我们没有在生成代理计算机上安装Visual 2015,我们将找不到它。

因此,要解决此问题,需要在生成代理计算机上安装Visual 2015,然后检查是否存在PublicAssemblies文件夹uder,然后检查文件Microsoft.VisualStudio.QualityTools.Common.dll是否存在。

此外,如果不希望在生成代理计算机上安装Visual 2015,可以将该Microsoft.VisualStudio.QualityTools.Common.dllPublicAssemblies文件夹复制到项目/解决方案文件夹,然后将其添加为引用而不是从PublicAssemblies文件夹中添加,然后您将得到以下结果:

代码语言:javascript
复制
  <ItemGroup>
    <Reference Include="Microsoft.VisualStudio.QualityTools.Common, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>.\Microsoft.VisualStudio.QualityTools.Common.dll</HintPath>
    </Reference>
  </ItemGroup>

然后,将这个.dll文件添加到源代码管理中,并将其提交给Azure repos。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58200381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档