C# xunit.runner.visualstudio不适用于Visual Studio吗

C# xunit.runner.visualstudio不适用于Visual Studio吗,c#,unit-testing,visual-studio-2017,xunit,C#,Unit Testing,Visual Studio 2017,Xunit,我已经完成了如下nuget安装: Install-Package xunit.runner.visualstudio -Version 2.2.0 在我的测试项目上 我有一个类似的测试: public class When_Doing_Stuff_I_Want_To_Test { [Fact] public void Can_Do_Stuff() { var result = DoStuff(); result.ShouldNotBe

我已经完成了如下nuget安装:

Install-Package xunit.runner.visualstudio -Version 2.2.0
在我的测试项目上

我有一个类似的测试:

public class When_Doing_Stuff_I_Want_To_Test
{

    [Fact]
    public void Can_Do_Stuff()
    {
        var result = DoStuff();

        result.ShouldNotBeNull();
        result.Success.ShouldBeTrue();
    }
}
尽管我做了很多VS重启、笔记本电脑重启,中间还有一天,VS 2017仍然无法发现我的测试:

我可以做些什么来修复此问题并查看我的测试

附录

我在4.6.1下工作,所以还不是核心

关于同一主题的问题没有帮助:

所以有很多事情要做,但都没有帮助

更新

我也不能让NUnit工作,也不会出现在测试资源管理器中

更新2

我删除了我的项目并重新创建了项目,如下所示:


然后我复制了我的原始代码并添加了所有必要的引用,没有区别。

在浏览了互联网之后,看来目标NETStandard.Library不能用于测试项目

以下是我从中获得信息的链接:

可以做的是让您要测试的项目使用NETStandard.Library,并让您的测试项目以Microsoft.NETCore.App为目标。然后,您的测试项目可以引用该项目进行测试,测试将运行

您的测试项目的.csproj将如下所示(版本可能会更改):


netcoreapp1.1
要测试的项目如下所示:

<PropertyGroup>
  <TargetFramework>netstandard1.4</TargetFramework>
</PropertyGroup>

netstandard1.4

最近我不得不在解决方案上运行dotnetrestore来运行测试,因此您可能需要执行相同的操作。原来是针对.NET Core SDK 1.0.1而不是1.0.4(我没有安装x86版本)。

转到菜单测试->测试设置->默认流程体系结构->根据平台目标更改它。

您有“testRunner”和依赖项中的“dotnet Test xunit”吗在project.json文件中设置?在我的解决方案文件夹结构中找不到什么是
testrunner
dotnet test xunit
。您肯定在使用4.6.1?在VS2017中创建新项目(新建项目->模板->Visual C#)时,您选择了.NET标准而不是.NET核心(即使创建了核心项目,顶部仍会显示.NET Framework x.y.z)?我问,因为我现在必须运行dotnetrestore才能让我的xUnit测试显示出来。@spike你能让你的项目在某个地方可用吗?我会尝试让它运行。这将有助于查看visual studio或解决方案是否存在问题。是否尝试按此处发布的方式清除缓存?这有助于它的工作,谢谢你的努力!所以我们在prod中做了这项工作,但后来我们开始测试一个使用“System.Windows.Forms”的文件,我们的.netCore2.1 TESTAPP崩溃了(无法从另一个程序集加载“System.Windows.Forms”)@Poat,我怀疑这是因为.NET Core2不支持winforms。尝试使用(目前仅在预览中)。如果您仍然有问题,我建议您发布一个单独的问题。
<PropertyGroup>
  <TargetFramework>netstandard1.4</TargetFramework>
</PropertyGroup>