Когда я развертываю свой проект с помощью "Опубликовать как Azure WebJob" с помощью Visual Studio 2013/update 4, я получаю ошибку в заголовке.
Аргумент ConnectionConnection-Web.config Connection String не может быть пустым или пустым. VS2013
Ответ 1
Исправлено удалением следующей разметки из файла .pubxml. Вы должны выйти/перезапустить VS после удаления разметки (или VS добавит его обратно).
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String" />
</ItemGroup>
Ответ 2
Создайте файл Parameters.xml в корне Project со следующим содержимым:
<?xml version="1.0" encoding="utf-8" ?>
<parameters>
<parameter name="DefaultConnection-Web.config Connection String"
description="DefaultConnection"
defaultValue="Server=tcp:x.database.windows.net,1433;Database=x_db;User [email protected];Password=z;Trusted_Connection=False;etc." tags="" />
</parameters>
Здесь также могут быть добавлены все остальные отсутствующие элементы конфигурации.
Ответ 3
У меня есть Visual Studio 2015 Update 3, и я столкнулся с той же проблемой. Решение, которое я нашел для меня, это следующее:
1) Откройте файл *.pubxml по свойствам → публикация профилей.
2) Найдите атрибут Path в разделе PublishDatabaseSettings:
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="eRecall.ETL.Models.erecallContext" Order="1" Enabled="False">
<Destination Path="" />
<Object Type="DbCodeFirst">
<Source Path="DBContext" DbContext="eRecall.ETL.Models.erecallContext, eRecall.ETL" />
</Object>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
3) Введите значение атрибута Path для следующего:
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="eRecall.ETL.Models.erecallContext" Order="1" Enabled="False">
<Destination Path="{deployment connection string}" />
<Object Type="DbCodeFirst">
<Source Path="DBContext" DbContext="eRecall.ETL.Models.erecallContext, eRecall.ETL" />
</Object>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
4) Удалите существующее развертывание webjob в планировщике заданий Azure.
5) Повторно разверните webjob, перезапустите webjob из планировщика и начните работу без проблем!
Надеюсь, что это поможет.
Ответ 4
Причина проблемы
Измените имя строки подключения в Web.Config или/и добавьте новую строку подключения в Web.Config.
Решение
-
Нажмите ссылку настроек и во всплывающем окне выберите вкладку "Настройки"
-
Снимите флажок
use this connection string at runtime
со всех строк подключения.
- Нажмите кнопку
Save
, чтобы закрыть окно. (Нет необходимости перезапускать Visual Studio) - Попробуйте опубликовать веб-сайт еще раз, и он должен опубликоваться без проблем.
ПРИМЕЧАНИЕ
Я использую VS 2017
Только для заметки
После того, как я сделал предыдущие шаги, я заметил, что файл .pubxml изменился автоматически. вот различие, которое было сделано (автоматически без какого-либо вмешательства со стороны меня)
Итак, я думаю, что это лучший способ, потому что это проще для разработчика, а также позволяет визуальной студии самостоятельно решать свои проблемы, не заставляя ее делать что-то конкретное.