Я использую Visual Studio 2015 Update 3 и имею переносимую библиотеку классов *.csproj
, настроенную на .NETStandard1.x
.
Чтобы иметь возможность ссылаться на пакет nuget Nancy 2.0.0-barneyrubble, мне нужно обновить переносимую библиотеку классов до .NETStandard1.6
. Однако это делает проект несостоятельным.
Любая попытка собрать его в Visual Studio или с помощью msbuild сообщает об этой ошибке:
Ваш проект не ссылается на платформу «.NETPlatform, Version = v5.0». Добавьте ссылку на ".NETPlatform,Version=v5.0" в разделе "frameworks" вашего проекта.json, а затем повторно запустите восстановление NuGet.
Вот файл project.json
:
{
"supports": {},
"dependencies": {
"Microsoft.AspNetCore.Owin": "1.1.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"Nancy": "2.0.0-Pre0",
"NETStandard.Library": "1.6.1"
},
"frameworks": {
"netstandard1.6": {}
}
}
Однако сборка проекта с dotnet restore
и dotnet build
из командной строки работает.
Я знаю, что эта проблема касается не только Нэнси. Тем не менее, я хотел бы знать, нашел ли кто-нибудь обходной путь для этой проблемы. Или можно ли использовать более низкую версию .NET Standard при создании самой Nancy?
Я не думаю, что просто использовать Visual Studio 2015 Update 3 достаточно. Инструменты dotnet/web для Visual Studio поставляются вне очереди, поэтому вам нужно получить последнюю версию здесь .
@khellang Я уже установил инструменты .NET Core (как командную строку, так и интеграцию с Visual Studio 2015). И я с радостью могу создавать библиотеки классов .NET Standard 1.3. Просто мне нужно 1.6, чтобы иметь возможность ссылаться на Нэнси. И это не будет строиться.
Хм. Вы смотрели на это ?
Спасибо - действительно, добавление этого в конец файла *.csproj
помогло:
<PropertyGroup>
<NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>
</PropertyGroup>
Я написал сообщение в блоге на эту тему , на всякий случай.
Самый полезный комментарий
Я написал сообщение в блоге на эту тему , на всякий случай.