"DefaultConnection-Web.config连接字符串"参数不能为null或为空.VS2013

Ric*_*SFT 45 visual-studio-2013 azure-webjobs

当我使用Visual Studio 2013/update 4使用"发布为Azure WebJob"部署项目时,我在标题中收到错误.

Ric*_*SFT 44

通过从.pubxml文件中删除以下标记来解决此问题.删除标记后必须退出/重新启动VS(或VS将其重新添加).

<ItemGroup>
  <MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)


Hak*_*tık 20

问题原因
更改和/或添加连接字符串的名称web.config.

  1. 选择网站项目,右键单击它,然后单击"发布".
    在此输入图像描述

  1. 按设置链接,然后从弹出窗口中选择"设置"选项卡

  2. 取消选中use this connection string at runtime所有连接字符串.

在此输入图像描述

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

注意
我正在使用VS 2017(并根据Visual Studio 2013中的评论)

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

所以我认为这是一种更好的方式,因为它对开发人员来说更容易,也让视觉工作室自己解决问题,而不会强迫它进入特定的事情.

在此输入图像描述

  • 当我取消选中该选项并按“保存”时,visual studio 会忽略它。当我再次打开设置时 - 该选项仍处于选中状态。我不能让它尊重我的偏好。我不能让它在没有注入连接字符串的情况下运行迁移。因此,我必须有一个带有连接字符串的发布配置文件来运行迁移(注入 web.config),然后是第二个没有连接字符串(无迁移)的发布配置文件,然后清除任何连接字符串的 web.config。好像是 VS2017:15.6.7 的 bug??或者 AzureAppSericeTools 构建 15.0.40215.0 - 非常烦人! (2认同)

Nor*_*dos 11

使用以下内容在Project根目录中创建Parameters.xml文件:

<?xml version="1.0" encoding="utf-8" ?>
<parameters>
  <parameter name="DefaultConnection-Web.config Connection String"
      description="DefaultConnection"
      defaultValue="Server=tcp:x.database.windows.net,1433;Database=x_db;User ID=x@y;Password=z;Trusted_Connection=False;etc." tags="" />
</parameters>
Run Code Online (Sandbox Code Playgroud)

所有其他缺少的配置元素也可以添加到这里.

  • 黑魔法!因此,部署为WebJob只是从项目根目录中的任何XML文件读取? (2认同)