在 ASP.NET Core MVC 中找不到重复的“System.Reflection.Assembly.*”属性和类型(xUnit 测试)

问题描述 投票:0回答:1

我创建了一个 ASP.NET Core 6 MVC Web 应用程序。构建成功,项目中没有任何错误。

在同一个解决方案中,我创建了一个 xUnit 测试项目,您可以看到下面的文件夹结构:

单元测试文件代码为:

using Microsoft.AspNetCore.Mvc;
using NetCoreMvcWebApp.Controllers;

namespace TestMvcApp
{
    public class UnitTest1
    {
        [Fact]
        public void Test1()
        {
            HomeController h = new HomeController(null);
            var res = (ViewResult)h.Index();
            var outdata = res.ViewData["SomeData"];
            Assert.IsType<DateTime>(outdata);
        }
    }
}

添加了 ASP.NET Core MVC Web 应用程序作为测试项目依赖项的项目引用。

当我构建解决方案或测试项目时,我收到这些错误,代码文件中没有任何波浪线:

错误CS0246
找不到类型或命名空间名称“Fact”(您是否缺少 using 指令或程序集引用?)NetCoreMvcWebApp

错误CS0246
找不到类型或命名空间名称“FactAttribute”(您是否缺少 using 指令或程序集引用?)NetCoreMvcWebApp

错误CS0579
重复“global::System.Runtime.Versioning.TargetFrameworkAttribute”属性 NetCoreMvcWebApp

如何解决这些错误?

c# .net asp.net-core-mvc xunit asp.net-core-6.0
1个回答
0
投票

在根项目中运行“dotnet Restore”,现在 Xunit 在测试项目中被识别。

或者 解决方案的关键是让所有已安装的 xunit 软件包具有相同的版本。 -- 如果 NuGet 上只有少数有可用更新,请等到所有 xunit 软件包都可用于同一版本。

© www.soinside.com 2019 - 2024. All rights reserved.