我需要从 Web 部署发布中排除与数据库相关的设置。我试图删除 pubxml 文件中的部分,但是当我创建部署包时它又回来了。
有没有办法从 Web 部署发布中排除与数据库相关的设置?
我需要从 Web 部署发布中排除与数据库相关的设置。我试图删除 pubxml 文件中的部分,但是当我创建部署包时它又回来了。
有没有办法从 Web 部署发布中排除与数据库相关的设置?
想出了一个办法:
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 将任何东西部署到我的数据库的想法让我感到害怕!