我应该忽略在Git中提交的`launchSettings.json`文件吗?

时间:2017-11-19 12:51:24

标签: git visual-studio github visual-studio-2017

我发现这个相对已知的GitHub存储库,他们认为launchSettings.json文件(Visual Studio 2017用于.Net Core项目)将被忽略

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

为什么要忽略它?我总是在我工作的公司里使用它,我很想知道是否有任何理由忽略它。

4 个答案:

答案 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