Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET核心解决方案设计在引用旧版本库时出现问题_C#_.net_.net Core - Fatal编程技术网

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

  • 软件包Microsoft.Composition 1.0.27与netcoreapp1.1(.NETCoreApp,版本=v1.1)不兼容。软件包Microsoft.Composition 1.0.27支持:portable-net45+win8+wp8+wpa81(.NETPortable,Version=v0.0,Profile=Profile259)
    错误一个或多个程序包与.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等)中使用