F# 使用纯Mono运行“dotnet测试”等效程序
我正在尝试F#并有一个小项目,在那里我可以运行F# 使用纯Mono运行“dotnet测试”等效程序,f#,mono,F#,Mono,我正在尝试F#并有一个小项目,在那里我可以运行dotnet test,但我想不安装任何来自微软的非自由软件 使用dotnet的替代方案似乎都使用非常复杂的命令,如: $ mono packages/xunit.runner.console.2.0.0/tools/xunit.console.exe build/test/CommandLine.Tests.dll 作为一个完全的新手,我没有任何暗示,在我的情况下,这些可能需要调整 我的HelloWorld.fsproj包含: <Proje
dotnet test
,但我想不安装任何来自微软的非自由软件
使用dotnet
的替代方案似乎都使用非常复杂的命令,如:
$ mono packages/xunit.runner.console.2.0.0/tools/xunit.console.exe build/test/CommandLine.Tests.dll
作为一个完全的新手,我没有任何暗示,在我的情况下,这些可能需要调整
我的HelloWorld.fsproj
包含:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<Compile Include="HelloWorld.fs" />
<Compile Include="HelloWorldTests.fs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
<PackageReference Include="FsUnit.xUnit" Version="4.0.2" />
</ItemGroup>
</Project>
netcoreapp3.0
假的
Mono和.NET core都有MIT许可证。现在没有理由不使用.NET core,特别是.NET core 5,它旨在统一.NET core和Mono的功能
另一方面,如果您没有使用VisualStudio(商业许可证),则项目代码中有一行不必要的代码
注意,对于RMS ish对“免费”的定义,该项目还通过软件包安装非免费软件。我认为从定义上讲,你无法完成你想要完成的事情。@LexLi我无法解释为什么.NET Core是非免费的,因为它是在麻省理工学院的许可之下。然而,我可以解释,我不知道.NETFramework(非免费)和.NETCore(MIT)之间有什么区别。
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />