【发布时间】:2022-01-30 21:21:21
【问题描述】:
我创建了一个 .Net 6 类库,现在我正在尝试创建一个测试项目。
.net 6 测试项目不可用。网上找了资料用.Net Framework或者.Net core来测试。
我创建了一个 .Net Framework 4.8 测试项目并引用了我的类库。
我收到编译器错误:
项目“..\CircularList\CircularList.csproj”以“net6.0”为目标。它不能被以 '.NETFramework,Version=v4.8' 为目标的项目引用。单元测试
那我该如何进行单元测试呢?有没有办法从 .Net Framework 4.8 定位到 .Net 6.0?
【问题讨论】:
-
你试过“xunit 测试项目”或“nunit 测试项目”模板吗?两者都在我的安装中提供 .NET 6;并且不:您不能在 .NET 6 和 .NET Framework 4.8 之间进行交叉引用(在任一方向上)
-
嗯 - .NET 4.8 是“旧的”、遗留/完整/仅限 Windows 的 .NET 框架 - .NET 6 是新的,基于 .NET Core 的跨平台框架 - 它们非常不同,您不能混合使用它们。但是在 VS 中应该肯定有 .NET Core 的单元测试项目 - 搜索“MSTest Test Project” - 其中明确指出 一个包含可以在 .NET Core 上运行的单元测试的项目。 .. - 这确实支持.NET 6
-
如果您使用的是 Visual Studios,您可能需要更新到 2022 以简化此操作。我希望该版本包含您轻松创建 .net 6 项目和测试项目所需的一切。您需要一个 .net 6 测试项目。
-
@NathanCooper 我使用的是 2022 版,最新版本。
-
你点击了旧的 MSTest 吗?那个说.NET Framework的?改为单击 XUnit,它将为您提供更现代的框架选择。
标签: c# .net unit-testing .net-framework-4.8