作为用于某些代码生成的测试套件的一部分,我需要加载程序集并检查其内容。为此,我编写了一个控制台应用程序,该应用程序分析生成的程序集并以计算机可读格式编写信息。
我要努力的是将该控制台应用程序包含在测试程序集中。我添加了对项目的引用,以确保将其构建为依赖项:
<ItemGroup>
<ProjectReference Include="..\Analyzer\Analyzer.csproj" />
</ItemGroup>
但是,只有dll
和pdb
文件被复制到测试项目。 deps
和runtimeconfig
文件不会被复制。
如果我尝试从测试项目的输出文件夹中运行应用程序,则会得到以下信息:
PS> dotnet .\Analyzer.dll
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\Users\Paul\Source\Repos\CodeGen\Tests\CodeGen.Tests\bin\Debug\netcoreapp2.2\'.
Failed to run as a self-contained app. If this should be a framework-dependent app, add the C:\Users\Paul\Source\Repos\CodeGen\Tests\CodeGen.Tests\bin\Debug\netcoreapp2.2\Analyzer.runtimeconfig.json file specifying the appropriate framework.
是否有一种方法可以包括缺少的资产(以及控制台应用程序需要的其他所有内容)以供测试套件使用?有没有其他方法可以构建控制台应用程序,从而使其更易于使用?