如何为WebJob项目设置连接字符串?

Enr*_*ico 27 azure-web-sites visual-studio-2013 azure-webjobs

我正在尝试设置一个网站和webjob,但每次我尝试独立于网站发布webjob时都会出错(即Publish as Azure WebJob从上下文菜单中选择)

C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(4270,5):错误:'MyWebJob.Models.MyDataEntities-Web.config连接字符串'参数不能为null或为空.
C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(4270,5):错误:'MyWebJob.Models.MoreDataEntities-Web.config连接字符串'参数不能为null或为空.

部署WebJob有两种选择

当我将我的webjob链接到一个网站项目时,它会在网站上部署而不会出错.但是,当我尝试独立部署它时,我在控制台和错误列表中出现上述错误,但仍然部署了webjob.

如何独立部署我的webjob并摆脱这种持久的"错误"?

Wil*_*man 48

我发现提供的价值

 <Destination Path="" /> 
Run Code Online (Sandbox Code Playgroud)

在您的发布配置文件pubxml文件摆脱了问题.这通常可以在\ Properties\PublishProfiles中找到.你可能有类似的东西:

<PublishDatabaseSettings>
  <Objects xmlns="">
    <ObjectGroup Name="Context" Order="1" Enabled="False">
      <Destination Path="" />
      <Object Type="DbCodeFirst">
        <Source Path="DBMigration" DbContext="Context, DAO" MigrationConfiguration="Context.Migrations.Configuration, DAO" Origin="Convention" />
      </Object>
    </ObjectGroup>
  </Objects>
</PublishDatabaseSettings>
Run Code Online (Sandbox Code Playgroud)

将其更改为以下内容为我修复:

<PublishDatabaseSettings>
  <Objects xmlns="">
    <ObjectGroup Name="Context" Order="1" Enabled="False">
      <Destination Path="{deployment connection string}" />
      <Object Type="DbCodeFirst">
        <Source Path="DBMigration" DbContext="Context, DAO" MigrationConfiguration="Context.Migrations.Configuration, DAO" Origin="Convention" />
      </Object>
    </ObjectGroup>
  </Objects>
</PublishDatabaseSettings>
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.

  • 好吧,如果在更改pubxml文件后重新启动Visual Studio,它似乎有效. (3认同)
  • @skorzinetzki我字面上把字母's`放在那里,它开始工作了.多么糟糕的过程. (3认同)