У меня есть интеграционные тесты, которые запускают исполняемый файл, созданный в том же решении с Process.Start
. И тестовый проект, и исполняемый файл являются приложениями net core 3.0.
Я хотел бы добавить зависимость к тестовому проекту для проекта, который создает исполняемый файл (но без ссылки на него), который я пробовал какthis:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" />
<PackageReference Include="MSTest.TestAdapter" Version="2.0.0" />
<PackageReference Include="MSTest.TestFramework" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\TestExe\TestExe.csproj">
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
</Project>
Но когда я запускаю исполняемый файл в моих тестах, он завершается с ошибкой:
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\Program Files\dotnet'
Когда я проверяю выходной каталог моего тестаЯ заметил, что в проекте отсутствует файл TestExe.runtimeconfig.json
из выходного каталога зависимости exe. Копирование этого файла в выходной каталог тестового проекта вручную устраняет проблему.
Как правильно выразить эту зависимость, чтобы все необходимые файлы оказались в выходном каталоге тестового проекта?