Visual Studio发布个人资料 - 为什么不跟踪源控制?

问题描述 投票:0回答:4

I正在探索用于部署我的ASP.NET Web应用程序的选项,当我注意到.gitignore文件中包含.pubxml文件时(我一直在使用):

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

进行搜索,原因似乎是对发布配置文件的引用或发布配置文件中的引用包含绝对路径或其他可能仅在本地开发机上有效的信息。

有人可以确认此排除背后的原因吗?

asp.net visual-studio-2013 version-control web-deployment webdeploy
4个回答
12
投票

从Microsoftdocumentation(对于ASP.NET Core 2.2及以上) -

当发布到Azure目标时,.pubxml文件包含您的 Azure订阅标识符。使用该目标类型,添加此文件 不建议源控制。出版到非武器时 目标,可以安全地检查.pubxml文件。

敏感信息(如发布密码)已在 每个用户/机器级别。它存储在 .pubxml.user文件。因为 该文件可以存储敏感信息,不应检查它 进入源控制


10
投票
IMO确实取决于您使用的部署设置以及您所有的团队都可以访问同一服务器。 我们的.pubxml文件中没有凭据,没有存储本地路径。

这是正确的。这些发布配置文件文件具有本地设置,例如针对部署的目标路径,对于不同系统而言可能有所不同。因此,它始终只保存这些文件。

I通过Visual Studio发布了我的(C#,Dotnet 8)CLI工具到本地文件夹。 我没有观察到

1
投票
文件中的任何敏感数据。因此,我决定将其放在源控制之下。无论如何,要发布到云服务,可能会有敏感 /不受保护 /个人数据,您应该在本地保留它。并解释降价(或其他地方)文件中的步骤,以“重新创建”该文件本地。

回到您的问题:“ pubxml源源控制是/否” - >取决于;-)在发布之前认真检查文件的内容并决定每个项目。

局部文件夹发布

0
投票

<Project> <PropertyGroup> <Configuration>Release</Configuration> <Platform>Any CPU</Platform> <PublishDir>bin\Release\net8.0\publish\</PublishDir> <PublishProtocol>FileSystem</PublishProtocol> <_TargetId>Folder</_TargetId> </PropertyGroup> </Project>

我添加的

*.csproj
文件中的additional,以获取一个文件为exe

<PropertyGroup> <PublishSingleFile>true</PublishSingleFile> <RuntimeIdentifier>win-x64</RuntimeIdentifier> </PropertyGroup>


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.