我发现这个相对已知的GitHub存储库,他们认为launchSettings.json
文件(Visual Studio 2017用于.Net Core项目)将被忽略。
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
为什么要忽略它?我总是在我工作的公司里使用它,我很想知道是否有任何理由忽略它。
答案 0 :(得分:11)
launchSettings.json
应该不被忽略。此后,该存储库已更新为不忽略它:https://github.com/github/gitignore/pull/2705
进行此更改的原因:
忽略
launchSettings.json
没有多大意义。现在,.NET CLI在与dotnet run
一起运行时甚至会考虑该文件,因为您可以阅读here。如果项目成员之间共享此设置,将很有用,因此应将其提交到存储库中。
指向支持这些规则更改的文档的链接:
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-run?tabs=netcore2x
答案 1 :(得分:1)
现在好了我知道为什么,我删除了那个文件,但是这个项目的选项仍然保存在那里,删除这个文件后选项根本没有丢失。 当我对项目选项进行任何新的更改时,该文件似乎是自动生成的,因此我的旧版本会再次进行更改。
答案 2 :(得分:1)
这取决于您项目的上下文,
如果您要与同事或客户共享源代码,并且希望使用除默认值(例如"uriFormat"
)以外的相同设置来运行项目,这些设置将重定向到特定的网址应用程序启动。
如果要从存储库中运行代码,则下一个用户将无法使用这种设置。
答案 3 :(得分:0)
可以将其作为常规操作的一个原因是,使秘密不被访问。
如果您正在使用环境变量来存储数据库密码,API密钥等,则可以在“项目属性”->“调试”下为dev hosting environment配置这些作为密钥-值对。
该配置将保存在项目launchSettings.json
的本地,因此,使该文件不在提交状态,可以避免将特权信息泄漏到存储库中。
不过请注意,当前的最佳实践不是在开发过程中完全以这种方式存储机密,而是使用Secrets Manager。