VS2015 pubxml:如何排除或删除<publishdatabasesettings>部分

时间:2016-07-12 23:17:33

标签: visual-studio-2015 web-deployment publishing pubxml

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

有没有办法从Web Deploy发布中排除数据库相关设置?

1 个答案:

答案 0 :(得分:1)

想出办法:

  • 使用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>

要在此处查看的愚蠢发布工具isn't smart enough

  

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

现在,如果你有一些连接字符串,你想要部署,有些你不需要,那么这是一个不同的故事,你将不得不找到一些其他方式来合并它们。

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

虽然没有直接解决这个问题 - 感谢@scotthanselman通过约secret connection strings in this article启发了这个答案。

美丽!

enter image description here

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

enter image description here