初学C#,总结一下.sln和.csproj的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学C#,总结一下.sln和.csproj的区别相关的知识,希望对你有一定的参考价值。

1、sln:solusion 解决方案
csproj:c sharp project C#项目

csproj文件大家应该不会陌生,那就是C#项目文件的扩展名,它是“C Sharp Project”的缩写

2、解决方案是项目的集合,项目是文件的集合;一个sln中可以包含多个csproj。一个csproj可以包含多个文件;csproj可以作为单独的项目运行,也可以在sln中添加csproj统一管理。

3、sln和csproj都可以双击运行,如果解决方案中只有一个项目那么两个方式是没有区别的;
但是如果一个解决方案中包含多个项目,sln会加载该解决方案中所有的项目,而csproj只会加载当前项目。

4、关于sln和csproj的几个问题
(1)、c#.net中.sln的文件可以删掉重新生成吗?这样会有问题吗?
.sln是项目文件。删除后项目的一些设置会无法恢复,因为你的解决方案里面可能有关于这个项目的文件的很多信息,所以一般不建议删除重建;但一般也没有太大的问题,你用VS直接打开.csproj工程文件,会给你建上sln的。你把需要的工程再一个一个的加进来就好了。

(2)、下载的Asp.net源码没有.sln 或.csproj 文件如何使用啊?
从Visual Studio IDE的菜单“文件”》“打开”》“网站”,然后从右边的目录中选择你要打开的网站目录,不需要有.sln文件就可以打开网站并调试运行。如果是WebSite模式那么是不需要SLN文件的,可以通过File->WebSite->OpenWebSite打开。 如果不是WebSite模式,那么可以自己建立一个空项目,然后把文件Copy进去即可。






以上是关于初学C#,总结一下.sln和.csproj的区别的主要内容,如果未能解决你的问题,请参考以下文章

csharp Foreach sln for csproj解析sln中的每个csproj

使用devenv/MSBuild在命令行编译sln或csproj

奇怪的 VS2008 (devenv) Nant 编译问题

“无法直接启动输出类型为类库的项目”

VS2017 csproj 没有 ItemGroup 标签

语句的输入输出