C# .NET核心解决方案设计在引用旧版本库时出现问题
我正在设计一个基本的应用程序,在这个应用程序中,我需要利用我使用C# .NET核心解决方案设计在引用旧版本库时出现问题,c#,.net,.net-core,C#,.net,.net Core,我正在设计一个基本的应用程序,在这个应用程序中,我需要利用我使用framework4.5编写的现有.Net库 我试图设计以下结构: -CODE -Business.csproj - TargetFramework - netstandard1.6 - ProjectReference - domain.csproj built on .NET 45 framework. - WebApi.csproj -TargetFramework -
framework4.5
编写的现有.Net
库
我试图设计以下结构:
-CODE
-Business.csproj
- TargetFramework - netstandard1.6
- ProjectReference - domain.csproj built on .NET 45 framework.
- WebApi.csproj
-TargetFramework - netcoreapp1.1
- ProjectReference - Business.csproj
-TEST
- Business.Tests.csproj
- TargetFramework - netstandard1.1
- ProjectReference - domain.csproj built on .NET 45 framework.
- ProjectReference - Business.csproj built on netstandard1.6 framework.
- WebAPI.Tests.csproj
-TargetFramework - netcoreapp1.1
- ProjectReference - Business.csproj
- ProjectReference - WebApi.csproj
理解:
Business.csproj
的目标是框架netstandard1.6
,因为.netframework(4.5.x)
和.netcore
都实现了这一目标
netstandard1.6
WebApi.csproj
的目标是框架netcoreapp1.1
,因为它是ASP.NET核心功能和参考项目所需要的
Business.csproj
基于netstandard1.6
错误一个或多个程序包与.NETCoreApp不兼容,版本=v1.1
如果您使用的是project.json,则需要向project.json添加导入部分:
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"imports": "portable-net45+win8+wp8+wpa81"
}
}
如果使用的是.csproj,则需要修改.csproj文件,如下所示:
<PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.1' ">$(PackageTargetFallback);portable-net45+win8</PackageTargetFallback>
$(PackageTargetFallback);portable-net45+win8
图中的外部库从何而来?@ScottChamberlain,编辑了我的设计。我认为你不能在.NET核心应用程序中引用现有的框架库。我相信您的库需要是一个.NET标准库,才能在多种框架类型(Core、VS4.6等)中使用