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

Sha*_*tin 19 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": {}
  }
}
Run Code Online (Sandbox Code Playgroud)

我们如何能够dotnet restoredotnet run在运行我们的应用程序的方法吗?

San*_*tos 19

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

"frameworks": {
   "netcoreapp1.0": {
      "imports": [
         "net451",
         "dotnet5.6",
         "portable-net45+win8"
       ]
   }
},
Run Code Online (Sandbox Code Playgroud)

我从这里拿走了它

  • 嗨@Sobhan可能副作用是您需要在您的服务器中使用.net framework 4.5.使用核心的优点是您可以部署在Linux服务器中. (2认同)

dav*_*owl 8

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


小智 7

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

<PropertyGroup>
    <PackageTargetFallback>net451;dotnet5.6;portable-net45+win8</PackageTargetFallback>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

取自这里.