Ответ 1
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"
сообщает об этом, чтобы также восстановить PCL с объектами .NET 4.5 и Windows 8, так как они должны работать в 99% всех случаев с .NET Core (Windows Runtime основана на System.Runtime и .NET Core тоже, почему он работает).
Но НИКОГДА используйте import
для восстановления не-PCL или PCL, которые не поддерживают как минимум win8/wpa8 и net45.
Обновление для csproj:
Чтобы сделать это в новой структуре проекта .csproj
, вам нужно добавить
<PackageTargetFallback>$(PackageTargetFallback);dotnet5.6;dnxcore50;portable-net45+win8</PackageTargetFallback>
вместо этого. Если вы уверены, что не используете какие-либо пакеты, которые используют какие-либо из них, необязательно оставляйте dotnet5.6
и dnxcore50
.