问题从“dotnet test”命令开始。由于某些原因,带有测试的项目找不到一个本应可用于它的共享库(请参阅附带的屏幕截图)。正如您可能注意到的,我正在使用定制代理通过Azure DevOps运行该任务(我认为这并不重要)。从日志中,我意识到它在我的机器上本地工作的原因是我正在谈论的项目是在Visual Studio中以调试模式构建的,而这正是测试项目正在寻找库的文件夹(即.\bin\Debug\netstandard2.0\my.dll)。
当我在Azure DevOps的构建管道中将“dotnet测试”作为任务运行时,出现了此问题,并且该过程没有为此项目创建调试文件夹。这很奇怪,因为“dotnettest”再次构建解决方案(在调试模式下),并且应该生成文件夹。
我尝试将项目从“netstandard2.0”切换到“netcoreapp2.2”,并添加xunit测试库。此项目中不需要它们,但它已开始生成包含已编译libs的调试文件夹(即.\bin\Debug\netcoreapp2.2\my.dll)。但是,它没有解决问题,因为测试项目仍在“netstandard2.0”文件夹中查找lib。
我希望测试项目将依赖于发布目录中可用的libs(而不是Debug)。我不知道怎样才能做到这一点。