如何在 Visual Studio 2019 中创建 .NET Framework 4.6 版本的 XUnit 项目?

31
我注意到当我启动Visual Studio 2019时,我无法创建 .NET Framework 版本的 XUnit 或 NUnit (仅支持 MSTests)。我们必须使用XUnit测试,但我们的解决方案全部是.NET Framework。其中一些 NuGet 包依赖于 .NET Framework(针对 Sitecore 8.2),因此我无法将它们添加到 .NET Core 项目中。我目前不能将任何旧项目升级到 .NET Core 或 Sitecore 9+。

如何添加 .NET Framework 的 XUnit 项目?我的 Visual Studio 设置有问题吗?这不受支持吗?我无法在 Microsoft 的文档中找到相关说明。谢谢。


5
请创建一个库项目。请参考xUnit自己的文档-https://xunit.net/docs/getting-started/netfx/visual-studio - Stephen Kennedy
Matt的方法可能更简单 :) - Stephen Kennedy
1
仍然是一个好建议。 :) - Matt Johnson-Pint
1
事实上,结果证明Matt的建议对我不起作用;我必须像文档(和@StephenKennedy)建议的那样创建一个类库项目。顺便说一下,我需要针对.NET Framework 4.5.2进行目标设置。 - Vince I
1
@StephenKennedy 我建议你把你的评论变成一个答案。这是我对于这个问题/疑问的首选解决方案。 - LosManos
2个回答

40
  • 先使用 xUnit Test Project (.NET Core) 项目模板。

  • 然后打开 .csproj 文件并将 <TargetFramework>netcoreapp2.2</TargetFramework> 更改为 <TargetFramework>net462</TargetFramework>

  • 完成啦。 :)


2
不错的解决方法,我想念旧时代的“创建项目时只需选择此选项”的方式。 - Vince I
1
这里提供了一个官方的目标框架标识符列表:链接 - AJ Dhaliwal

10
  • 这里安装适用于.net framework的xUnit测试项目模板
  • 创建新的xUnit测试项目(.NET Framework)工程 enter image description here

这是截至今天的真正答案。无需像编辑项目文件那样进行黑客攻击。 - RBT
1
@RBT,我不认为这是一个黑客行为,我相信为一种不容易升级的旧技术安装一个特殊模板更像是一种黑客行为。这是来自一个仍然使用4.8版本并且欣赏新DotNet生态系统中大部分框架支持的人的观点。 - MarcWeintraub
1
@RBT,我不认为这是一个黑客行为,我认为为一个不容易升级的老技术安装一个特殊模板更像是一种黑客行为。这是来自一个仍然使用4.8版本并且欣赏大部分新DotNet生态系统中框架支持的人的看法。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接