The 'DefaultConnection-Web.config Connection String' argument cannot be null or empty

Visual Studio-2013Azure Webjobs

Visual Studio-2013 Problem Overview


When I deploy my project with "Publish as Azure WebJob" using Visual Studio, I get the error in the title.

Visual Studio-2013 Solutions


Solution 1 - Visual Studio-2013

Fixed by removing the following markup from the .pubxml file. You must exit/restart VS after removing the markup (or VS will add it back in).

<ItemGroup>
  <MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String" />
</ItemGroup>

Solution 2 - Visual Studio-2013

Reason of the problem is one of the followings:

  1. Change the name of the connection string in the web.config.
  2. Add a new connection string in the web.config

Solution

  1. Select the website project, right-click on it, and click publish.

enter image description here

  1. Press the settings link and from the pop-up window select the 'Settings' Tab

  2. Uncheck the use this connection string at runtime from all your connection strings.

enter image description here

  1. Click the Save button to close the window. (No need to restart Visual Studio)
  2. Try to publish the website again, and it should publish without a problem.
  3. You can reconfigure the settings as it was previously, the unchecking just triggers VS to regenerate the .pubxml file, So you are not forced to change your settings at all.

NOTE
I am using VS 2017 (and according to the comments this also work in Visual Studio 2013)

Just for Note
After I did the previous steps, I noticed that the .pubxml file changed automatically. here is the difference which has been made (automatically without any interference from me)

So I think this is a better way because it is easier for the developer and also it let the visual studio to solve its problems himself, without forcing it into a specific thing.

enter image description here

Solution 3 - Visual Studio-2013

Create a Parameters.xml file in the Project root with the following content:

<?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 ID=x@y;Password=z;Trusted_Connection=False;etc." tags="" />
</parameters>

All the other missing config elements can be added here as well.

Solution 4 - Visual Studio-2013

I have Visual Studio 2015 Update 3 and i was facing the same issue. The solution i found that is working for me is the following:

  1. Open *.pubxml file under properties -> publish profiles.

  2. Look for the Path attribute under PublishDatabaseSettings section:

  3. Set Path attribute value to the following:

  4. Delete the existing webjob deployment in Azure Job Collection Scheduler.

  5. Re-Deploy the webjob, Re-run the webjob from the scheduler and it starts working with no issues!

Hope this helps.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRickAndMSFTView Question on Stackoverflow
Solution 1 - Visual Studio-2013RickAndMSFTView Answer on Stackoverflow
Solution 2 - Visual Studio-2013Hakan FıstıkView Answer on Stackoverflow
Solution 3 - Visual Studio-2013Norbert KardosView Answer on Stackoverflow
Solution 4 - Visual Studio-2013MostafaView Answer on Stackoverflow