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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为WebJob项目设置连接字符串?相关的知识,希望对你有一定的参考价值。

我正在尝试设置一个网站和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并摆脱这种持久的“错误”?

答案

我发现提供的价值

 <Destination Path="" /> 

在您的发布配置文件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>

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

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

希望有所帮助。

另一答案

我发现删除WebJob项目中的obj目录将清除正在构建要发布的WebJob包的暂存区域。然后发布成功了。

另一答案

问题的原因 更改Web.Config中的连接字符串的名称或/并向Web.Config添加新的连接字符串。

  1. 选择网站项目,右键单击它,然后单击“发布”。 enter image description here

  1. 按设置链接,然后从弹出窗口中选择“设置”选项卡
  2. 从所有连接字符串中取消选中use this connection string at runtime

enter image description here

  1. 单击Save按钮关闭窗口。 (无需重新启动Visual Studio)
  2. 尝试再次发布网站,它应该发布没有问题。

注意 我正在使用VS 2017

只是为了注意 完成前面的步骤后,我注意到.pubxml文件自动更改。这是差异(自动没有任何干扰)

所以我认为这是更好的方法,因为它对开发人员来说更容易,而且它让视觉工作室自己解决问题,而不是强迫它用于特定的事情。

enter image description here

以上是关于如何为WebJob项目设置连接字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 XSLT 代码片段配置 CruiseControl 的 C# 版本?

android如何为片段按钮设置OnClickListener

如何为片段设置观察者

如何为 apollo 客户端生成片段类型?

如何为每个 WebGL 三角形设置单独的颜色?

如何为 iOS 项目设置最低代码覆盖率阈值?