依赖 Microsoft.Composition 1.0.27 不支持框架 .NETCoreApp,Version=v1.1
The dependency Microsoft.Composition 1.0.27 does not support framework .NETCoreApp,Version=v1.1
当我将框架部分升级到:
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
},
"imports": "dnxcore50"
}
}
我遇到错误
The dependency Microsoft.Composition 1.0.27 does not support framework
.NETCoreApp,Version=v1.1.
与
"Microsoft.VisualStudio.Web.CodeGeneration.Tools"
:带下划线
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"]
}
}
"portable-net45-win8"
部分告诉它,还可以使用 .NET 4.5 恢复 PCLs 和 Windows 8 个目标,因为它们应该在 99% 的情况下使用 . NET Core(Windows 运行时基于 System.Runtime 而 .NET Core 也是,这就是它工作的原因)。
但是从不使用import
来恢复非PCL或PCL至少不支持win8/wpa8和 net45.
csproj 更新:
要在新的 .csproj
项目结构中执行此操作,您需要添加
<PackageTargetFallback>$(PackageTargetFallback);dotnet5.6;dnxcore50;portable-net45+win8</PackageTargetFallback>
相反。当您确定不使用任何使用这些的包时,可以选择省略 dotnet5.6
和 dnxcore50
。
如果您正在处理 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 文件并查看输出。
当我将框架部分升级到:
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
},
"imports": "dnxcore50"
}
}
我遇到错误
The dependency Microsoft.Composition 1.0.27 does not support framework .NETCoreApp,Version=v1.1.
与
"Microsoft.VisualStudio.Web.CodeGeneration.Tools"
:带下划线
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"]
}
}
"portable-net45-win8"
部分告诉它,还可以使用 .NET 4.5 恢复 PCLs 和 Windows 8 个目标,因为它们应该在 99% 的情况下使用 . NET Core(Windows 运行时基于 System.Runtime 而 .NET Core 也是,这就是它工作的原因)。
但是从不使用import
来恢复非PCL或PCL至少不支持win8/wpa8和 net45.
csproj 更新:
要在新的 .csproj
项目结构中执行此操作,您需要添加
<PackageTargetFallback>$(PackageTargetFallback);dotnet5.6;dnxcore50;portable-net45+win8</PackageTargetFallback>
相反。当您确定不使用任何使用这些的包时,可以选择省略 dotnet5.6
和 dnxcore50
。
如果您正在处理 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 文件并查看输出。