gpt4 book ai didi

c# - 无法在我的 .NET Core 单元测试项目中加载文件或程序集 Microsoft.AspNetCore.Mvc.ApiExplorer

转载 作者:行者123 更新时间:2023-12-01 21:57:57 30 4
gpt4 key购买 nike

我在 .NET Core 解决方案中有两个项目:

  • TestWebApp(典型的 ASP.NET Core 2.2 网络应用程序)
  • 单元测试应用

我的单元测试应用程序在运行时提示缺少一些文件。我想知道为什么这些文件在我认为应该通过 TestWebApp 提供/可用时丢失了。

这是 csproj 文件:

测试网络应用

<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>

...

这是我现在运行任何单元测试时遇到的第一个错误:

Message: System.IO.FileNotFoundException : Could not load file or assembly 'Microsoft.AspNetCore.Mvc.ApiExplorer, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified

然后我手动将它添加到单元测试项目中,重新编译并运行所有测试,现在我得到了这个运行时错误:

Message: System.IO.FileNotFoundException : Could not load file or assembly 'Microsoft.AspNetCore.Razor.Runtime, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified.

所以现在它找不到另一个文件..我认为它应该通过 TestWebApp 下拉?

Nuget 添加该文件...编译...并测试所有运行正常。

那么,为什么我需要将这两个 nuget 手动添加到 xunit 测试项目中?

最佳答案

有同样的问题,但看了Test App Prerequisites part in this document它正在工作。

我在项目文件中遗漏的是:

使用

<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" />

关于c# - 无法在我的 .NET Core 单元测试项目中加载文件或程序集 Microsoft.AspNetCore.Mvc.ApiExplorer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55408993/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com