VS2017 не включает Microsoft.Bcl.Build, но VS2015 не включает - PullRequest
0 голосов
/ 30 мая 2018

Мы обнаружили, что Visual Studio 2017 НЕ включает Microsoft.Bcl.Build в свой пакет для проекта облачной службы Azure (.NET Framework 4.5).Тот же проект, созданный и упакованный в Visual Studio 2015, включает в себя Microsoft.Bcl.Build.

Мы определили, включены ли они или нет, при запуске пакета в производство в Azure, а веб-роли сообщают об отсутствующей зависимости.Это также можно увидеть, сравнив папки bin.

Почему VS 2017 не включает его должным образом?

Вот изображение зависимостей nuget для проекта (ов)).nuget dependencies

1 Ответ

0 голосов
/ 30 мая 2018

Пакет Microsoft.WindowsAzure.Management.Sql устарел и не выпускался с 2015 года. Он был заменен на Microsoft.Azure.Management.Sql , который не имеет ни одной из этих зависимостей,Вы должны обновить до этого пакета.

Обратите внимание, что пакеты Bcl являются зависимостями старой версии Microsoft.Azure.Common .Этот пакет не требует их в текущей версии.Если вы не можете выполнить обновление до последнего пакета управления SQL Azure, возможно, вам следует обновить пакет Microsoft.Azure.Common.

Ни VS 2015, ни VS 2017 никогда не добавят Microsoft.Bcl или Microsoft.Bcl.Async.Эти пакеты были созданы в качестве меры ограничения пробелов еще в 2012 году, чтобы позволить приложениям, использующим C # 4, использовать ключевые слова async/await.Они добавили расширения как среды выполнения, так и расширения компилятора, чтобы понимать ключевые слова async/await и генерировать асинхронный конечный автомат.Сама Visual Studio 2012 была способна нацеливаться на C # 5, поэтому не нужен этот пакет.

Эти пакеты используются только старыми библиотеками, которые не были обновлены до C # 5.

...