12

我需要从 Web 部署发布中排除与数据库相关的设置。我试图删除 pubxml 文件中的部分,但是当我创建部署包时它又回来了。

有没有办法从 Web 部署发布中排除与数据库相关的设置?

4

1 回答 1

3

想出了一个办法:

  • 使用外部化配置configsource

更改您web.config以将连接字符串包含为外部文件。

<connectionStrings configSource="web.connectionstrings.config"/>

然后添加一个新文件web.connectionstrings.config,它应该完全采用这种格式(我的意思是不需要更高级别的节点):

<connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=localhost; Initial Catalog=DEFAULT; Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

愚蠢的发布工具不够聪明,无法在这里查看。

避免在 .pubxml 文件中编辑与数据库相关的设置,因为 Visual Studio 在发现项目中的更改时会自动更改这些设置。

现在,如果你有一些你想要部署的连接字符串,而有些你没有,那就是另一回事了,你必须找到其他方法来合并它们。

我可能会补充说,如果您首先遇到此问题,则可能是部署错误,但这对我来说是一个解决方案,因为我确实确实希望部署硬编码的值。

虽然没有直接解决这个问题 - 感谢@scotthanselman 通过在本文中讨论秘密连接字符串来启发这个答案。


美丽的!

在此处输入图像描述

此外,取消选中此项。我不了解你,但 pubxml 将任何东西部署到我的数据库的想法让我感到害怕!

在此处输入图像描述

于 2017-04-25T01:18:58.603 回答