由Azure Devops Server代理运行时,单元测试找不到文件

时间:2020-05-15 13:20:40

标签: azure-devops

app.config文件中,有对另一个配置文件的引用。

<system.web>
    <roleManager configSource="Roles.config"/>

从Visual Studio执行测试用例时,一切正常。但是,如果由自托管代理从Azure Devops Server运行它,则会引发以下异常:

System.Configuration.ConfigurationErrorsException: Unable to open configSource file 'Roles.config'.

始终将文件复制到bin目录。

有什么想法吗?

更新: 经过一番调查,结果发现临时工作文件夹中没有Roles.config文件:agent\_work\2\s\TestResults\Deploy_srv 2020-05-15 14_46_18\Out\

YAML的一小部分

- task: VSTest@2
  displayName: 'Test Assemblies'
  inputs:
    testAssemblyVer2: |
     **\$(BuildConfiguration)\One.dll
     **\$(BuildConfiguration)\Two.dll

1 个答案:

答案 0 :(得分:0)

有什么想法吗?

也许您可以查看以下提示进行故障排除:

1。首先,您应确保Roles.config文件在版本控制下。

2。然后确保该文件的“复制”选项设置为始终复制,检查项目文件(xx.xxproj)并检查是否存在:

<xxx Include="Roles.config">
  <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</xxx>

3。由于configSource属性使用相对路径,因此您应确保Roles.config文件与app.config文件位于同一目录下。