Het argument ‘DefaultConnection-Web.config Connection String’ mag niet null of leeg zijn. VS2013

Als ik mijn project implementeer met “Publiceer als Azure WebJob” met Visual Studio 2013/update 4, krijg ik de fout in de titel.


Antwoord 1, autoriteit 100%

Opgelost door de volgende opmaak uit het .pubxml-bestand te verwijderen. Je moet VS afsluiten/herstarten na het verwijderen van de opmaak (of VS zal het weer toevoegen).

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

Antwoord 2, autoriteit 47%

De oorzaak van het probleem is een van de volgende:

  1. Verander de naam van de verbindingsreeks in de web.config.
  2. Voeg een nieuwe verbindingsreeks toe in de web.config

Oplossing

  1. Selecteer het websiteproject, klik er met de rechtermuisknop op en klik op publiceren.

voer hier de afbeeldingsbeschrijving in

  1. Druk op de instellingenlink en selecteer in het pop-upvenster het tabblad ‘Instellingen’

  2. Verwijder het vinkje bij use this connection string at runtimevan al uw verbindingsreeksen.

voer hier de afbeeldingsbeschrijving in

  1. Klik op de knop Saveom het venster te sluiten. (U hoeft Visual Studio niet opnieuw op te starten)
  2. Probeer de website opnieuw te publiceren en deze zou zonder problemen moeten publiceren.
  3. Je kunt de instellingen opnieuw configureren zoals het eerder was, het deactiveren activeert VS alleen om het .pubxml-bestand opnieuw te genereren, dus je bent helemaal niet gedwongen om je instellingen te wijzigen.

OPMERKING
Ik gebruik VS 2017 (en volgens de opmerkingen werkt dit ook in Visual Studio 2013)

Voor de noot
Nadat ik de vorige stappen had uitgevoerd, merkte ik dat het .pubxml-bestand automatisch veranderde. hier is het verschil dat is gemaakt (automatisch zonder enige tussenkomst van mij)

Dus ik denk dat dit een betere manier is omdat het gemakkelijker is voor de ontwikkelaar en het ook de visuele studio laat om zijn problemen zelf op te lossen, zonder het tot iets specifieks te dwingen.

voer hier de afbeeldingsbeschrijving in


Antwoord 3, autoriteit 17%

Maak een Parameters.xml-bestand in de hoofdmap van het project met de volgende inhoud:

<?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>

Alle andere ontbrekende configuratie-elementen kunnen hier ook worden toegevoegd.


Antwoord 4, autoriteit 6%

Ik heb Visual Studio 2015 Update 3 en ik had hetzelfde probleem. De oplossing die ik heb gevonden die voor mij werkt, is de volgende:

1) Open het *.pubxml-bestand onder eigenschappen -> profielen publiceren.

2) Zoek naar het Path-attribuut in de sectie 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) Stel de waarde van het padkenmerk in op het volgende:

<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) Verwijder de bestaande webjob-implementatie in Azure Job Collection Scheduler.

5) Implementeer de webjob opnieuw, voer de webjob opnieuw uit vanuit de planner en het begint zonder problemen te werken!

Hopelijk helpt dit.

Other episodes