2015-02-08 59 views
23

我想建立一个网站和webjob,但得到一个错误每次我尝试独立发布网站webjob(即从上下文菜单中选择Publish as Azure WebJob如何为WebJob项目设置连接字符串?

C:\ Program Files文件 (86 )\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ Web \ Microsoft.Web.Publishing.targets(4270,5): 错误:'MyWebJob.Models.MyDataEntities-Web.config连接 字符串'参数不能为空或空。
C:\ Program Files文件 (86)\的MSBuild \微软\ VisualStudio的\ V12.0 \网络\ Microsoft.Web.Publishing.targets(4270,5): 错误:“MyWebJob.Models.MoreDataEntities的Web。 config连接 字符串'参数不能为空或空。

有用于部署WebJob

当我将webjob链接到一个网站项目两个选项,它没有错误的网站部署。但是,当我尝试独立部署它时,我在控制台和错误列表中得到了上述错误,但webjob仍在部署。

如何独立部署我的webjob并摆脱这种持续的“错误”?

+0

您是否尝试删除发布配置文件并重新发布? – 2015-02-08 18:32:23

+0

我有同样的问题,并且删除并重新发布不会更改它 – sjkp 2015-02-08 22:04:05

+0

@ l19很多时候,因为删除发布配置文件和清除后错误只会消失。 – Enrico 2015-02-09 00:45:19

回答

45

我发现,

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

希望有所帮助。

+0

谢谢!这对我有效。 – Lukie 2015-04-13 11:46:42

+0

此修补程序也适用于我...谢谢! – 2015-06-10 16:15:42

+0

这有时适用于我。我有一个具有多个配置文件的项目。它适用于一个,但不是另一个。 – jrummell 2015-07-06 15:28:59

3

我发现删除WebJob项目中的obj目录将清除正在构建要发布的WebJob包的临时区域。发布是成功的。

0

原因问题
变化在web.config和/或添加新的连接字符串web.config中的连接字符串的名称。

解决方案

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

  • 按下设置链接,并从弹出窗口中选择 '设置' 选项卡

  • 取消选中use this connection string at runtime从所有你的连接字符串。

  • enter image description here

  • 点击Save按钮关闭该窗口。 (无需重新启动Visual Studio)
  • 尝试再次发布网站,并且应该发布没有问题。
  • 注意
    我做了前面的步骤后,我使用VS 2017年

    只是为了说明
    ,我注意到.pubxml文件自动改变。这里是已经做出的区别(自动没有任何干扰)

    所以我认为这是更好的方式,因为它对开发者来说更​​容易,而且它让视觉工作室自己解决它的问题,而不会强迫它具体的事情。

    enter image description here

    相关问题