我在 .NET Core 解决方案中有两个项目:
- TestWebApp(典型的 ASP.NET Core 2.2 Web 应用程序)
- 单元测试应用程序
我的单元测试应用程序正在抱怨运行时期间有许多文件丢失。我想知道为什么当我认为这些文件应该通过以下方式提供/可用时却丢失了TestWebApp
.
这是 csproj 文件:
测试Web应用程序
<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,Version=2.2.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”。该系统找不到指定的文件
那么我manuallynuget 将其添加到单元测试项目中,重新编译并运行所有测试,现在我收到此运行时错误:
消息:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.AspNetCore.Razor.Runtime,Version=2.2.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”。该系统找不到指定的文件。
所以现在找不到了another文件..我认为它应该通过 TestWebApp 下拉?
Nuget 添加该文件...编译..并测试全部运行正常。
那么为什么我需要手动将这两个 nuget 添加到 xunit 测试项目中呢?
有同样的问题,但读完后本文档中的测试应用程序先决条件部分它正在工作。
我在项目文件中错过的是:
Use
<Project Sdk="Microsoft.NET.Sdk.Web"> instead of <Project Sdk="Microsoft.NET.Sdk"> at the top.
并使用了以下包:
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="2.2.0" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)