簡體   English   中英

為什么我不能使用 Microsoft.AspNetCore.Mvc; 在我的單元測試項目中?

[英]Why I couldn't use Microsoft.AspNetCore.Mvc; in my unit testing project?

我創建了一個 asp.net core mvc 項目,還創建了一個單元測試項目,下面是單元測試項目的代碼:

using System;
using Microsoft.AspNetCore.Mvc;  // error, type or namespace is missing
using Xunit;

namespace Project.Tests
{
    public class UnitTest1
    { 

        [Fact]
        public void Test1()
        {
          ...
        }
    }
}

不太明白,我以前創建單元測試項目沒有問題,為什么這次訪問不了Microsoft.AspNetCore.Mvc

您無法在單元測試項目中訪問Microsoft.AspNetCore.Mvc ,因為單元測試項目是一個單獨的項目,其中不包含Microsoft.AspNetCore.Mvc庫。

要解決此問題,請將此程序集的引用添加到您的項目中。

要將Microsoft.AspNetCore.Mvc程序集添加到單元測試項目:

  • 右鍵單擊單元測試項目的引用

在此處輸入圖片說明

  • 單擊 Manage NuGet Packages,搜索Microsoft.AspNetCore.Mvc並安裝它

在此處輸入圖片說明

在單元測試項目中你真的需要這個程序集參考嗎?

  • 如果不是,則從UnitTest1類中刪除其引用

如果您在 VS 2019 更新 16.4.0 或更高版本上創建基於 .NET Core 3.0/3.1 的單元測試,則只需在單元測試的 csproj 中添加 FrameworkReference 並包含 ASP.NET Core 的 FrameworkReference。 無需引用 ASP.NET Core 的 nuget。

使用 ASP.NET Core 引用在您的 csproj 中添加 FrameworkReference 非常簡單,例如:

<ItemGroup>
   <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

有關FrameworkReference更多信息,另請參見https://docs.microsoft.com/en-us/dotnet/core/compatibility/aspnetcore

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM