依赖项Microsoft.Composition 1.0.27不支持框架.NETCoreApp,Version = v1.1

Rad*_*Zec 10 asp.net-core-mvc asp.net-core asp.net-core-1.0

当我将框架部分升级到:

"frameworks": {
    "netcoreapp1.1": {
      "dependencies": {
      },
      "imports": "dnxcore50"
    }
  }
Run Code Online (Sandbox Code Playgroud)

我收到了错误

依赖项Microsoft.Composition 1.0.27不支持框架.NETCoreApp,Version = v1.1.

"Microsoft.VisualStudio.Web.CodeGeneration.Tools"

:下划线

小智 15

如果您正在处理csproj文件,可以编辑它们并添加以下行:

<PackageTargetFallback>$(PackageTargetFallback);dotnet5.6;portable-net45+win8</PackageTargetFallback>

结果应如下所示:

<PropertyGroup> <TargetFramework>netcoreapp1.1</TargetFramework> <PackageTargetFallback>$(PackageTargetFallback);dotnet5.6;portable-net45+win8</PackageTargetFallback> </PropertyGroup>

这是VS转换器在将project.json升级到csproj时的工作方式.如果您需要其他目标,可以将project.json文件转换为csproj文件并查看输出.


Tse*_*eng 5

Microsoft.Composition支持.NET Framework 4.5,Windows 8和WindowsPhone 8.1以及其他目标,这意味着它应该可以工作.

但它没有netstandard1.x具体针对它netcoreapp1.x,所以你需要通过导入部分告诉nuget还恢复目标上述平台的PCL库:

"frameworks": {
    "netcoreapp1.1": {
      "dependencies": {
      },
      "imports": ["dnxcore50", "portable-net45+win8"]
    }
}
Run Code Online (Sandbox Code Playgroud)

"portable-net45-win8"部分告诉它,也可以恢复使用.NET 4.5和Windows 8目标的PCL,因为它们应该在所有使用.NET Core的情况下工作(Windows运行时基于System.Runtime和.NET Core也是如此,这是为什么它的工作).

切勿使用import恢复非PCL或PCL不支持至少在Win8/wpa8和net45.

csproj的更新:

要在新.csproj项目结构中执行此操作,您需要添加

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

代替.可选择省略dotnet5.6,dnxcore50当您确定不使用任何使用这些包的任何包时.