如何为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添加新的连接字符串。
解
- 按设置链接,然后从弹出窗口中选择“设置”选项卡
- 从所有连接字符串中取消选中
use this connection string at runtime
。
- 单击
Save
按钮关闭窗口。 (无需重新启动Visual Studio) - 尝试再次发布网站,它应该发布没有问题。
注意 我正在使用VS 2017
只是为了注意 完成前面的步骤后,我注意到.pubxml文件自动更改。这是差异(自动没有任何干扰)
所以我认为这是更好的方法,因为它对开发人员来说更容易,而且它让视觉工作室自己解决问题,而不是强迫它用于特定的事情。
以上是关于如何为WebJob项目设置连接字符串?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 XSLT 代码片段配置 CruiseControl 的 C# 版本?