我应该将 dotnet-tools .config 目录检查到源代码管理中吗?

Should I check the dotnet-tools .config directory into source control?

最近我注意到 Visual Studio 创建了一个 .config 目录,其中有一个 dotnet-tools.json 文件。这应该是 .gitignored 还是签入源代码管理?

当您使用 dotnet tool install 命令为您的项目安装工具时,会创建

.config 目录和 dotnet-tools.json 文件。此文件 dotnet-tools.json 包含有关为您的项目安装的所有工具的版本、安装命令等详细信息。它更像是与本地机器上的设置相关的本地配置。 如果您希望您的同事在 her/his 机器上安装相同的工具,那么您应该签入此文件,您的同事需要克隆和 运行 命令以在 her/his 上恢复相同的工具机器。这与 NuGet 包非常相似。

您可以安全地将其添加到 .gitignore。在这种情况下,您的同事仍然可以使用相同或不同版本的 dotnet tool install 执行相同工具的全新安装。

Here is a good article on this topic

有时 Visual Studio 只需打开“发布”对话框就可以创建此文件,甚至无需触及任何设置。 Visual Studio 尝试检测 EF-migrations/DB-context/etc。在您的项目中 运行 dotnet ef -blahblah;为此,它安装了 ef 工具;因此,安装会生成此文件。

如果您不使用 Entity Framework 您不仅可以安全地 .gitignore 这个文件,而且完全删除它也是安全的 关闭“发布”设置对话框后(同样,如果您不使用 EF)。