我正在创建一个.Net Core Library
可供应用程序使用的ASP.NET Core
应用程序。默认情况下,Visual Studio 创建 project.json 如下
{
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
},
"version": "1.0.0-*"
}
我认为它建议netstandard1.x
用于将由其他应用程序使用的库。我要删除"imports": "dnxcore50"
,因为那是针对较旧的 .NET Core 预览版本(在 .NET Core 1.0 RTM 和 .NET Core RC2 发布之前)
现在我想使用单元测试这个库,xunit
所以按照文章开始使用 xUnit.net (.NET Core / ASP.NET Core)
但是 xunit 建议将该库标记为 .Net Core Application
您可能已经注意到,我们在这里所做的部分工作是将您的类库标记为 .NET Core 应用程序(netcoreapp1.0 框架)。使用 .NET CLI 进行测试时,单元测试项目实际上是一个应用程序*,而不是类库。如果您忘记进行此更改,编译器会告诉您 dotnet-test-xunit 与您的类库项目不兼容。不过,我们告诉 Visual Studio 生成一个类库,因为它最符合我们所需的项目结构。
- 应用程序的 Main 函数由 xUnit.net 运行程序提供,而不是由您提供。
因此,我按照建议更新了 project.josn,并且能够运行单元测试。但是我有问题:
1> 是否建议将.Net Core 库的目标框架从该库可以被其他应用程序使用时netstandard1.6
更改?netcoreapp1.0