“.CSProj”和“.Sln”文件有什么用途?

22

我搜索了很多关于.csproj和.sln的信息。现在我知道,.Csproj文件包含有关项目的信息,而.sln文件包含有关解决方案中所有项目的信息。

我的问题是它们包含什么信息,实际示例将非常有帮助。

还有以下语句是否正确?

我们在Web应用程序中有.csproj,但没有在网站中出现?

谢谢


15
使用记事本打开它们,你就会看到 :) - Habib
4
.csproject文件用于个人项目。无论对该项目进行何种更改,都会在.csproject文件中添加。.sln文件是解决方案文件,它可能包含多个项目。 - शेखर
请看我编辑后的回答,关于你对网站与 Web 项目的问题。 - Lzh
可能是什么是.sln和.vcproj文件,它们包含了什么?的重复问题。 - StuperUser
1
这个问题非常有建设性。我曾在MFC COM时代涉猎过,突然被扔进了Linux的世界。现在,我回到vstudio处理一些模块,并且正好有这种问题在我脑海中:打开是 .csproj 还是 .sln 文件。所以我现在的理解是,必须打开 .sln 文件才是正确的文件。感谢这个问题。 - daparic
2个回答

11

Habib说的是对你最好的方法。当你打开CSPROJ或SLN文件时,你会发现一个XML文件(以TEXT形式存储),其中包含很多关于:

  1. 如何构建项目及其设置。
  2. 项目引用的程序集。
  3. MSBuild信息和命令:MSBuild是一个框架,允许开发人员使用他们在MSBuild文件中指定的命令自定义构建过程,例如项目文件本身。例如,如果您希望在每次构建时以自定义方式处理文件,可以使用MSBuild,并将其放入CSProject文件中。

Web项目有引用,也可能有自定义的构建操作,这就是为什么需要为它创建项目文件。此外,这样的项目包含文件,项目文件列出了这些文件以及如何构建/编译它们。这与其他IDE中基于文件的项目不同,在Visual Studio中,您可以在项目文件夹中拥有不属于项目的文件。

关于你关于网站和Web项目的问题,这里有一个关于Visual Studio中Web应用程序项目与Web Site项目的比较的链接,并且关于包含哪些没有项目文件的网站文件方面,它说:

对于网站项目,文件夹结构中的所有文件都自动视为包含在网站中。如果您要从编译中排除某些内容,则必须将该文件从网站项目文件夹中删除或将其文件名扩展名更改为不编译且不由IIS提供服务的扩展名。


这里有更多关于MSBuild的信息:http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx,如果您需要更多信息,请告诉我们。 - Lzh

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接