Visual Studio发布配置文件-为什么不跟踪源代码管理?

Sco*_*ver 5 asp.net version-control web-deployment webdeploy visual-studio-2013

当我发现此.gitignore文件(我一直在使用)中包含.pubxml文件时,我正在通过创建发布配置文件来探索用于部署ASP.NET Web应用程序的选项:

https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

到处搜索,其理由似乎是对发布配置文件的引用或发布配置文件中的引用包含绝对路径或其他信息,这些信息可能仅在当时的本地开发机器上有效。

谁能证实排除在外的原因?

小智 11

来自 Microsoft文档(适用于 ASP.NET Core 2.2 及更高版本)-

发布到 Azure 目标时,.pubxml 文件包含您的 Azure 订阅标识符。对于该目标类型,不鼓励将此文件添加到源代码管理中。发布到非 Azure 目标时,签入 .pubxml 文件是安全的。

敏感信息(如发布密码)在每个用户/计算机级别进行加密。它存储在 .pubxml.user 文件中。由于此文件可以存储敏感信息,因此不应将其签入源代码管理。


小智 6

我无法证实推理,但我可以告诉你我们在做什么。我将 .pubxml 文件包含在源代码管理中,因为我们中的任何人都可以发布到我们的 DEV 或 TEST 环境。我什至检查了文件本身,没有看到任何本地路径。但是考虑到我们使用 web 部署,只要我们都可以访问同一台服务器进行部署,那么就没有问题。

因此,IMO 确实取决于您使用的部署设置以及您的所有团队是否都可以访问相同的服务器。

我们的 .pubxml 文件中没有存储凭据和本地路径。


小智 0

这是对的。这些发布配置文件具有本地设置,例如要部署的目标路径,对于不同的系统可能会有所不同。所以它总是只在本地保存这些文件。