.net core 是否可以将.NET Core XUnit项目作为独立应用程序运行?

.net core 是否可以将.NET Core XUnit项目作为独立应用程序运行?,.net-core,xunit,.net Core,Xunit,我的设想是,我不想依赖于环境中已安装的dotnet版本。理想情况下,我希望有一个独立的XUnit应用程序,我可以使用它在目标环境中运行测试 .NET核心控制台应用程序的输出类型为Exe,因此作为独立发布后,我们可以执行发布的可执行文件。这是可以理解的,因为控制台应用程序在应用程序中有一个入口点。在XUnit测试项目中,我们没有入口点 仅将Exe添加到XUnit测试项目中并没有任何帮助(可以理解)我可以通过执行以下操作来实现: 在我想要运行的XUnit测试项目中,将.csproj修改为: ``

我的设想是,我不想依赖于环境中已安装的dotnet版本。理想情况下,我希望有一个独立的XUnit应用程序,我可以使用它在目标环境中运行测试

.NET核心控制台应用程序的输出类型为
Exe
,因此作为独立发布后,我们可以执行发布的可执行文件。这是可以理解的,因为控制台应用程序在应用程序中有一个入口点。在XUnit测试项目中,我们没有入口点


仅将
Exe
添加到XUnit测试项目中并没有任何帮助(可以理解)

我可以通过执行以下操作来实现:

  • 在我想要运行的XUnit测试项目中,将.csproj修改为:
```


netcoreapp2.1
Exe
假的
```

  • 包括此处提到的跑步者(请注意,这确实有一个入口点):

  • 现在将应用程序发布为独立应用程序。例如,我想在Linux机器上运行用.NETCore编写的测试。示例:
    dotnet发布-c发行版-r linux-x64

  • 现在,假设您的测试项目名为“Foo.Tests”,那么在发布的输出中应该会看到一个名为“Foo.Tests”的可执行文件。通过执行“/Foo.Tests”来执行它


我发现了一个类似的更简单的方法,我在一个类似的问题中给出了答案,关于在没有安装sdk的情况下运行:不过我还没有在独立的应用程序中尝试过这个方法。
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <OutputType>Exe</OutputType>
    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="xunit" Version="2.3.1" />
    <PackageReference Include="xunit.runner.utility" Version="2.3.1" />
  </ItemGroup>

</Project>