包[some package]与netcoreapp1.0不兼容

时间:2016-04-27 18:45:05

标签: asp.net asp.net-core

dotnet restore上,我们收到以下错误:

  

包Microsoft.AspNet.SomePackage 5.6.7与netcoreapp1.0(.NETCoreApp,Version = v1.0)不兼容。软件包Microsoft.AspNet.SomePackage 5.6.7支持:net45(.NETFramework,Version = v4.5)

我们的project.json看起来像这样:

{
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-*",
    "Microsoft.AspNet.SomePackage": "5.6.7",
    "Microsoft.NETCore.App": "1.0.0-*"
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "portable-net45+wp80+win8+wpa81+dnxcore50",
        "portable-net451+win8"
      ]
    }
  },
  "runtimes": {
    "win8-x64": {}
  }
}

我们如何以运行我们的应用的方式dotnet restoredotnet run

4 个答案:

答案 0 :(得分:19)

注意 - 通过在框架导入中添加“net451”,我能够使其工作。

"frameworks": {
   "netcoreapp1.0": {
      "imports": [
         "net451",
         "dotnet5.6",
         "portable-net45+win8"
       ]
   }
},

我是从here

取的

答案 1 :(得分:7)

简短的回答是,你不能。在某些狭隘的情况下,您可以使用导入来覆盖nuget内置的依赖关系规则。在这种情况下,您不能,.NET Framework和.NET Core不兼容。错误表明该软件包仅支持net45(.NET Framework 4.5)。您不能将它与.NET Core应用程序一起使用

答案 2 :(得分:6)

如果您需要执行相同的操作但使用新的.csproj进行配置而不是使用project.json,请编辑.csproj文件并在属性组下面添加以下内容:

<PropertyGroup>
    <PackageTargetFallback>net451;dotnet5.6;portable-net45+win8</PackageTargetFallback>
</PropertyGroup>

取自here

答案 3 :(得分:0)

requirejs位于github(https://github.com/requirejs/requirejs)上,可以使用core作为依赖项进行编译。

如果软件包是开源软件包或源代码可用,则可以使用dot net core重新编译,而不是4.5框架。 这完全取决于其他依赖项及其与dotnet核心的兼容性。