首页 文章

在.Net Standard 1.6项目中引用.NET 4.5.2类库

提问于
浏览
2

这种情况可能很奇怪 . 但我想使用Nuget将现有的.NET 4.5.2类库引用到新的.Net Standard 1.6类库中 . 我根本看不到Nuget包存储中的.Net 4.5.2类库 .

我不想将任何现有项目迁移到.Net Core,但希望在.Net核心项目中使用它们 .

是否有可能实现这一目标?或者我正在尝试实现不是.Net Core目的的东西 .

我的project.json如下 .

{
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
    "NETStandard.Library": "1.6.0",
    "AutoMapper": "5.0.2",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.VisualStudio.clrdbg": "14.0.25520-preview-3139256"
  },

  "tools" : {
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final",
      "imports": [
        "portable-net45+win8+dnxcore50",
        "portable-net45+win8"
      ]
    }
  },

  "frameworks": {
    "netstandard1.6": {
         "imports": [ "dnxcore50", "net452" ]
    }
  }
}

UPDATE :

我在 frameworks 下添加了 net452 部分 . 然后我得到无法解决已安装的几个软件包的错误 . PFA截图 .

enter image description here

无论如何,我可以强迫这个工作 .

1 回答

  • 2

    您在框架导入部分中缺少Net45导入 . 如果它是一个可运行的项目,那么您将需要将Microsoft.NETCore.App添加到您的依赖项并导入必要的框架以使其工作

    {
      "version": "1.0.0-*",
    
      "dependencies": {
        "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.0"
        },
        "AutoMapper": "5.0.2",
        "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
        "Microsoft.VisualStudio.clrdbg": "14.0.25520-preview-3139256"
      },
    
      "tools" : {
        "Microsoft.EntityFrameworkCore.Tools": {
          "version": "1.0.0-preview2-final",
          "imports": [
            "portable-net45+win8+dnxcore50",
            "portable-net45+win8"
          ]
        }
      },
    
      "frameworks": {
        "netcoreapp1.1": {
          "imports": [
            "portable-net45+wp80+win8+wpa81+dnxcore50",
            "dnxcore50",
            "net452"
          ]
        }
      },
      "buildOptions": {
        "emitEntryPoint": true,
        "preserveCompilationContext": true
      },
    }
    

    但是,如果您正在使用PCL,则需要使用netstandard框架并导入必要的框架以便构建PCL .

    {
      "version": "1.0.0-*",
    
      "dependencies": {
        "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
        "NETStandard.Library": "1.6.0",
        "AutoMapper": "5.0.2",
        "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
        "Microsoft.VisualStudio.clrdbg": "14.0.25520-preview-3139256"
      },
    
      "tools" : {
        "Microsoft.EntityFrameworkCore.Tools": {
         "version": "1.0.0-preview2-final",
         "imports": [
            "portable-net45+win8+dnxcore50",
            "portable-net45+win8"
          ]
        }
      },
    
      "frameworks": {
        "netstandard1.6": {
          "imports": [
            "portable-net45+wp80+win8+wpa81+dnxcore50",
            "dnxcore50",
            "net452"
          ]        
        }
      }
    }
    

相关问题