我正在尝试设置网站和webjob,但每次尝试独立于网站发布webjob时都会出错(即从上下文菜单中选择Publish as Azure WebJob
)
C:\ Program Files (86)\的MSBuild \微软\ VisualStudio的\ V12.0 \网络\ Microsoft.Web.Publishing.targets(4270,5): 错误:'MyWebJob.Models.MyDataEntities-Web.config连接 String'参数不能为null或为空 C:\ Program Files (86)\的MSBuild \微软\ VisualStudio的\ V12.0 \网络\ Microsoft.Web.Publishing.targets(4270,5): 错误:'MyWebJob.Models.MoreDataEntities-Web.config连接 String'参数不能为null或为空。
部署WebJob有两种选择
当我将我的webjob链接到一个网站项目时,它会在网站上部署而不会出错。但是,当我尝试独立部署它时,我在控制台和错误列表中出现上述错误,但仍然部署了webjob。
如何独立部署我的webjob并摆脱这种持续的“错误”?
答案 0 :(得分:47)
我发现为
提供了一个值 <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>
希望有所帮助。
答案 1 :(得分:3)
我发现删除WebJob项目中的obj
目录将清除正在构建要发布的WebJob包的暂存区域。然后发布成功了。
答案 2 :(得分:1)
问题原因
更改Web.Config中的连接字符串的名称或/并向Web.Config添加新的连接字符串。
<强>解决方案强>