У меня есть два проекта в решении .NET Core:
- TestWebApp (типичное веб-приложение ASP.NET Core 2.2)
- Приложение модульного тестирования
Мое приложение модульного тестирования жалуется во время выполнения , что отсутствует ряд файлов.Мне интересно, почему эти файлы отсутствуют, когда я думал, что они должны быть предоставлены / доступны через TestWebApp
.
Вот файлы csproj:
TestWebApp
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Hellang.Middleware.ProblemDetails" Version="3.0.1" />
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
....
Проект модульного теста / приложение
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<IsPackable>false</IsPackable>
<LangVersion>latest</LangVersion>
</PropertyGroup>
....
<ItemGroup>
<ProjectReference Include="..\TestWebApplication\TestWebApplication.csproj" />
</ItemGroup>
...
Вот первая ошибка, которую я получаю, когда запускаю какой-либо модульный тест, теперь:
Сообщение: System.IO.FileNotFoundException: Не удалось загрузитьфайл или сборка 'Microsoft.AspNetCore.Mvc.ApiExplorer, версия = 2.2.0.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60'.Система не может найти указанный файл
Итак, я вручную nuget добавляю это в проект модульных тестов, перекомпилирую и запускаю все тесты, и теперь я получаю эту ошибку времени выполнения:
Сообщение: System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'Microsoft.AspNetCore.Razor.Runtime, версия = 2.2.0.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60'.Система не может найти указанный файл.
Так что теперь она не может найти другой файл ... который, как я думал, должен был быть удален через TestWebApp?
Nuget добавляет этот файл ... компилирует .. и все тесты запускаются ОК.
Так почему мне нужно было вручную добавить оба этих нюгетера в проект теста xunit?