我需要从Web Deploy发布中排除数据库相关设置。我试图删除pubxml文件中的部分,但是当我创建部署包时它会回来。
有没有办法从Web Deploy发布中排除数据库相关设置?
答案 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启发了这个答案。
此外,取消选中此项。我不了解你,但是将pubxml部署到我的数据库中的想法让我感到害怕!