依賴 Microsoft.Composition 1.0.27 不支持框架 .NETCoreApp,Version=v1.1
當我將框架部分升級到:
"frameworks": { "netcoreapp1.1": { "dependencies": { }, "imports": "dnxcore50" } }我收到錯誤
依賴 Microsoft.Composition 1.0.27 不支持框架 .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 和 Windows 8 目標恢復 PCL,因為它們應該在 99% 的情況下使用 .NET Core(Windows 執行時基於 System.Runtime,.NET Core 也是如此,那就是為什麼有效)。但切勿用於
import恢復非 PCL 或至少不支持 win8/wpa8 和 net45 的 PCL。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 文件並查看輸出。