我已经看到了有针对性的各种框架project.json文件,使用的名称,如netcore50,dotnet,dnx451,net45,和其他人."framework"部分project.json的文档(尚未)指定如何将此部分用于不同的框架.
可以使用哪些框架以及project.json中应该使用什么名称来定位每个框架?
通常我们会看到以下目标project.json:
"frameworks": {
"net45": {},
"dnx451": {},
"dnxcore50": { }
}
Run Code Online (Sandbox Code Playgroud)
dnxcore50将是项目代码的唯一可移植版本,并dnx451实际上针对.Net 4.5.1 mscorlib等...
现在,如果我添加另一个被调用的目标dnx50,这将创建一个有效的输出并且工作正常.
dnx451和dnx50之间的区别在于它引用了不同的.Net程序集dll
例如mscorlib.dll:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\mscorlib.dllC:\Windows\Microsoft.NET\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll本质上是.net 4.6版本.现在的问题是:
dnx50例如,为自定义库创建目标是否有意义?基本上以.net 4.6为目标,您需要dnxcore50便携式设备没有的某些功能吗?
或者dnx451目标实际上是足够的,如果我不需要更新的.net版本(4.5.2,4.6)中的特定功能,如果它安装在系统上,那么该目标将使用.net 4.6而且我我只是针对我的项目所需的最低版本?
这是否意味着同时拥有dnx451和dnx50目标实际上会产生相同的输出,对吧?
试图从.Net4.5转移到.Net5,所以我创建了我的解决方案,其中包含名为"Solution Items"和"src"的文件夹.
我已经设法使用.NET 5构建了3个项目.我必须将项目创建为"类库(包) - 预览 - 用于创建类库的项目模板,作为可以针对任何平台的NuGet包"
现在我想把我的单元测试项目放到我的解决方案中.我相信我现在必须使用XUnit,它具有不同的测试属性.
但如果我创建一个"单元测试项目",我就无法引用我的新.net5项目.
请有人指出我正确的方向.