.net core .NET Core 2.1控制台应用程序无法引用.NET Core 2.1类库

.net core .NET Core 2.1控制台应用程序无法引用.NET Core 2.1类库,.net-core,nuget-package,xunit,.net-4.6.1,.net Core,Nuget Package,Xunit,.net 4.6.1,在.NETFramework4.5及以下版本中,我有一个单元测试库,我喜欢将它传递给单元/实现测试项目,以减少启动新测试项目时的开销 今晚我试图制作一个.NET核心版本。在开发过程中,我将我的单元测试项目作为本地参考添加到Console应用程序解决方案中。在经历了一系列与xUnit失去测试运行程序的斗争后,我为UnitTesting库提出了以下包列表,该测试运行程序过去与xUnit捆绑在一起(但在2.3版左右被放弃) 单元测试库包列表 控制台应用程序跟进 由于新的测试适配器情况,我发现让co

在.NETFramework4.5及以下版本中,我有一个单元测试库,我喜欢将它传递给单元/实现测试项目,以减少启动新测试项目时的开销

今晚我试图制作一个.NET核心版本。在开发过程中,我将我的单元测试项目作为本地参考添加到Console应用程序解决方案中。在经历了一系列与xUnit失去测试运行程序的斗争后,我为UnitTesting库提出了以下包列表,该测试运行程序过去与xUnit捆绑在一起(但在2.3版左右被放弃)

单元测试库包列表

控制台应用程序跟进 由于新的测试适配器情况,我发现让console应用程序查看单元测试的唯一方法是向应用程序添加以下包

<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0">

如果这个包包含在库中,它将找不到测试

问题解决了

问题没有解决 我将所有这些都部署为.NETCore2.1的nuget包,从控制台应用程序卸载库,并作为依赖项拉入nuget包

此时,包有一个生成警告,它不能引用它作为本地解决方案项目时刚刚引用过多次的内容。它建议将版本降到.net Framework 4.6.1,我认为这就是.net Framework开始进入.net标准2.0的地方?这也许可以实现我想要的目标,但我更喜欢只使用.NETCore,因为这是我在.NETCore中进行的一个家庭项目,目的是了解更多有关它的信息。(这座山可能不值得一死,我愿意接受这种反馈。)

我读过很多关于.NETCore如何对其包使用隐式版本控制的文章,但没有正确应用。我已经看到了几个线程,我将在下面尝试并链接它们,以展示我尝试过的各种事情,但最后,如果库作为nuget包部署,我将无法使用它,如果它手动加载到解决方案中,我也可以使用它

在我发现单元测试之前,xUnit进行了研究
  • .NET Core 2.1库未在.NET Core 2.1应用程序研究中编译
  • --我相信这是我这个问题所有环节中最相关的讨论
  • 在这两个主题下,我发现的小片段有一些重叠。其中一个更大胆的建议是将projectsdk改为而不是,并将其添加到应用程序(或库?我尝试了各种排列)

    我觉得我已经解决了让xUnit在.NETCore2.1中工作的问题,我只是不能将它部署为nupkg

    有人征服了这一切吗?我无法在上面的任何一个或在StackOverflow上的任何搜索中找到适合我的答案

    我可能弄错了,但我相信,我引用的所有软件包都与.NETCore2.1兼容,或者应该在安装之前根据它们的描述进行。当单元测试项目在应用程序的解决方案中时,应用程序的工作情况就证明了这一点

    感谢所有花时间阅读本文的人

    -奥姆尼

    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0">