Visual studio 2015 VS2015 pubxml:如何排除或消除<;PublishDatabaseSettings>;部分

Visual studio 2015 VS2015 pubxml:如何排除或消除<;PublishDatabaseSettings>;部分,visual-studio-2015,web-deployment,publishing,pubxml,Visual Studio 2015,Web Deployment,Publishing,Pubxml,我需要从Web部署发布中排除与数据库相关的设置。我试图删除pubxml文件中的部分,但当我创建部署包时,它又回来了 有没有办法从Web部署发布中排除与数据库相关的设置?找到了一种方法: 使用configsource 更改web.config以将连接字符串作为外部文件包含 <connectionStrings configSource="web.connectionstrings.config"/> 在这里查看的愚蠢的发布工具 避免在.pubxml文件中编辑与

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

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

找到了一种方法:

  • 使用
    configsource
更改
web.config
以将连接字符串作为外部文件包含

<connectionStrings configSource="web.connectionstrings.config"/>
在这里查看的愚蠢的发布工具

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

现在,如果您有一些确实需要部署的连接字符串,而有些不需要,那么情况就不同了,您必须找到其他方法将它们合并到一起

我可能会补充说,如果您首先面临这个问题,您可能在部署时出错,但这对我来说是一个解决方案,因为我确实希望部署硬编码的值

虽然没有直接解决这个问题,但感谢@scotthanselman,他通过对


美丽的!

此外,取消选中此选项。我不知道你是怎么想的,但是想到pubxml会在我的数据库中部署任何东西,我就害怕


你在哪里能解决这个问题?@DirkBoer:不,我放弃了。@AllanXu通过搜索
“不,我放弃了”pubxml找到了这个问题。
如果你对连接字符串使用web.config转换,你也会想做类似的事情。PS。别忘了部署ConnectionString文件;-)每个人都使用web.config转换。这些pubxml文件覆盖它并试图强制在pubxml文件中使用另一个字符串,这是愚蠢的。也不可能移除。当您在“发布设置”中取消选中“在运行时使用此连接字符串”时,它仍然会保留该字符串。如果您切换设置,它会重复向pubxml文件添加重复的行。这一切都始于他们在VS 2015或2017年更新了U.I.的出版版本,现在已经破产了。
<connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=localhost; Initial Catalog=DEFAULT; Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>