Отказ от ответственности : Я считаю, что моя среда Visual Studio 2017 постоянно обновляется службами уведомлений по состоянию на 15.7.3.
Настройка : создан новый проект функции Azure (Добавить новый проект, Облако, Функции Azure [ENTER], Предварительный просмотр функций Azure v2 (.NET Standard)) После завершения восстановления зависимостей VS устанавливает новый проект.в качестве точки запуска в решении и нажмите клавишу F5 для запуска локальной отладки.
VS2017 запускает dotnet, и вы можете найти строку типа
http://localhost:7071/api/Function1
Перейдите в браузере наURL, чтобы убедиться, что проект работает нормально.Теперь остановите отладчик.
Чтобы воспроизвести поведение :
Откройте диспетчер пакетов nuget и найдите Microsoft.Extensions.Configuration.На момент написания статьи он имел стабильную последнюю версию 2.1.0.Добавьте этот пакет в проект.Также, просто для удовольствия, добавьте System.Data.SqlClient (последняя версия 4.5.0). Теперь убедитесь, что ваш проект действительно зависит от DLL.Например, напишите следующее как первые операторы в методе Run;
var cb = new Microsoft.Extensions.Configuration.ConfigurationBuilder();
var sc = new System.Data.SqlClient.SqlConnection();
Теперь снова запустите отладку.(F5) Хост функций по-прежнему загружается нормально, но при попытке обновить браузер окно консоли выдаст сообщение
[10.06.2018 15:37:28] Executing 'Function1' (Reason='This function was programmatically called via the host APIs.', Id=6804e02c-441a-4e62-b6a4-6b02154ec7fb)
[10.06.2018 15:37:29] Executed 'Function1' (Failed, Id=6804e02c-441a-4e62-b6a4-6b02154ec7fb)
[10.06.2018 15:37:29] System.Private.CoreLib: Exception while executing function: Function1. FunctionApp-repro: Could not load file or assembly 'System.Data.SqlClient, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. System.Private.CoreLib: Could not load the specified file.
Обход : открыть диспетчер пакетов nuget и «обновить» систему.Data.SqlClient до версии 4.1.0 и Microsoft.Extensions.Configuration для версии 2.0.0