所以我决定学习C#。我下载了Visual studio,对于我的第一个项目,我只想创建一个简单的Hello world应用程序并将其置于源代码管理之下。我做到了,但是有很多自动生成的非源代码文件。
对于简单的“Hello world”应用程序文件包括: helloworld.vshost, helloworld.vshost.exe, helloworld.vshost.exe.manifest, HelloWorld.exe的, 所有的调试文件, 等
制作一个“Hello world”程序。只应该.cs文件受版本控制或所有这些随机文件
答案 0 :(得分:7)
不需要*.vshost.*
个文件 - 这些文件都用于Visual Studio调试器进程。
您不应将编译期间产生的任何人工制品放入源代码管理中 - 这包括.exe
文件以及bin
,debug
和release
下的任何内容。
还有其他文件应该是用户设置(例如.sua
)。
您需要解决方案文件(.sln
),项目文件/(.csproj
),配置文件(.config
)以及任何源文件,包括内容(例如图像,脚本以及未嵌入其中的可执行文件所需的任何其他内容。)
请参阅此相关的Stack Overflow问题:
.gitignore for Visual Studio Projects and Solutions
其中一个答案指向Visual Studio的this github gitignore文件。
答案 1 :(得分:1)
项目文件夹下的所有内容都不是项目的一部分。
查看Visual Studio,在解决方案资源管理器中,您可以看到实际属于项目的文件。但是,在该文件夹中,您有 bin 和 obj 文件夹,其中包含临时文件和输出文件。您还可以找到任意数量的旧文件,遗骸,复制文件 - 所有这些文件都没有编译,也找不到最终产品。
某些语言或IDE会将文件夹内容视为项目的一部分。 Visual Studio在.CSPROJ文件中内部管理它。
因此,要回答您的问题,应该是源代码控制的一部分的文件是.cs文件,.csproj文件,.sln,.config和其他已编译的文件或项目内容的一部分 - 脚本,图像等等。一方面不丢失任何内容而不添加无关文件的最佳方法是使用Visual Studio源代码控制插件,并在VS中执行签入/签出操作。