I正在探索用于部署我的ASP.NET Web应用程序的选项,当我注意到.gitignore文件中包含.pubxml文件时(我一直在使用):
https://github.com/github/gitignore/blob/master/visualstudio.gitignore
进行搜索,原因似乎是对发布配置文件的引用或发布配置文件中的引用包含绝对路径或其他可能仅在本地开发机上有效的信息。
有人可以确认此排除背后的原因吗?
从Microsoftdocumentation(对于ASP.NET Core 2.2及以上) -
当发布到Azure目标时,.pubxml文件包含您的 Azure订阅标识符。使用该目标类型,添加此文件 不建议源控制。出版到非武器时 目标,可以安全地检查.pubxml文件。
敏感信息(如发布密码)已在 每个用户/机器级别。它存储在 .pubxml.user文件。因为 该文件可以存储敏感信息,不应检查它 进入源控制
这是正确的。这些发布配置文件文件具有本地设置,例如针对部署的目标路径,对于不同系统而言可能有所不同。因此,它始终只保存这些文件。
I通过Visual Studio发布了我的(C#,Dotnet 8)CLI工具到本地文件夹。 我没有观察到
回到您的问题:“ pubxml源源控制是/否” - >取决于;-)在发布之前认真检查文件的内容并决定每个项目。
局部文件夹发布
<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>