Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否应将.csproj文件添加到.gitignore?_C#_Git_Visual Studio - Fatal编程技术网

C# 是否应将.csproj文件添加到.gitignore?

C# 是否应将.csproj文件添加到.gitignore?,c#,git,visual-studio,C#,Git,Visual Studio,我想知道在git历史记录中添加.csproj文件是否真的有用/最好/不好 (目前,我将git用于私有存储库) 谢谢 简短回答:您的git历史记录中肯定需要.csproj文件 长答案:下面是如何回答这样的问题。制作解决方案文件夹的副本。删除您想知道是否应该包含在git历史记录中的任何文件。尝试构建并运行您的代码。如果不能,则意味着在git中需要它们,反之亦然 在这种情况下,您会发现如果没有.csproj文件,您的项目将无法生成,因此该文件必须位于git中 从git中删除构建和运行项目不需要的文件也

我想知道在git历史记录中添加
.csproj
文件是否真的有用/最好/不好

(目前,我将git用于私有存储库)


谢谢

简短回答:您的
git
历史记录中肯定需要
.csproj
文件

长答案:下面是如何回答这样的问题。制作解决方案文件夹的副本。删除您想知道是否应该包含在
git
历史记录中的任何文件。尝试构建并运行您的代码。如果不能,则意味着在
git
中需要它们,反之亦然

在这种情况下,您会发现如果没有
.csproj
文件,您的项目将无法生成,因此该文件必须位于
git

git
中删除构建和运行项目不需要的文件也很重要,例如在构建过程中生成的文件

在大多数情况下,这项工作已经为您完成了,例如,有一个目录和扩展的列表,对于
.Net Core
项目应该忽略这些目录和扩展。其他平台/语言也发布了类似的
.gitignore
文件。

除此之外,了解项目文件的内容也很有帮助:

在Visual Studio中创建和生成解决方案时,Visual Studio使用MSBuild生成解决方案中的每个项目。每个Visual Studio项目都包含一个MSBuild项目文件,其文件扩展名反映项目类型,例如,C#项目(.csproj)、Visual Basic.NET项目(.vbproj)或数据库项目(.dbproj)。为了生成项目,MSBuild必须处理与该项目关联的项目文件。项目文件是一个XML文档,包含MSBuild生成项目所需的所有信息和说明,如要包含的内容、平台要求、版本控制信息、web服务器或数据库服务器设置以及必须执行的任务

  • 请参阅更多详细信息(
    .Net
    ):

  • 对于
    .Net核心
    ,类似地:

因此,我的理由如下:

在这种情况下,您会发现如果没有
.csproj
文件,项目将无法生成


Hth…

您可以轻松确定这一点。只需退出VisualStudio,删除.csproj文件,将解决方案重新打开到VisualStudio中,然后看看会发生什么。当然,一定要事先备份这些文件。@MickyD根据上面提到的答案回答