码迷,mamicode.com
首页 > Web开发 > 详细

.Net工程详解及项目版本管理

时间:2016-05-07 13:23:30      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

前言

写这篇文章的目地是为了让更多的小伙伴对VS生成的工程有一个清晰的认识。在开发过程中,为了赶进度,并不是每个人都有学习的时间。

但如果上层项目管理人员对这些工程目录不熟悉的话,把VS编译的中间文件也提库到SVN,那么其它同事在提代码时,就会发现有N多文件被修改了,其实有些目录及文件是没必要进行版本控制的。

说说为什么最近会写一些C#客户端的文章(包括WinFormWPF),我所在公司游戏项目的需求,需要一些小工具和游戏微端,我们是在windows下开发,自然就会想到微软大哥的客户端技术,自然这也是学习的好机会。

 

.Net(C#)工程结构图

技术分享

Bin

Bin 目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C#编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。

技术分享

 

Obj

obj是object的缩写,用于存放编译过程中生成的中间临时文件。其中都有debug和release两个子目录,分别对应调试版本和发行版本,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译来设置。

技术分享

 

Properties

Properties文件夹 定义你程序集的属性 ,如果是控制台工程,那就只有一个 AssemblyInfo.cs 文件,AssemblyInfo.cs 用于保存程序集的信息,如名称,版本等,这些信息一般与项目属性面板中的数据对应,不需要手动编写。

关于程序集欢迎浏览我的另一篇《C# 程序集属性(文件的详细信息)

如果是Winform和WPF等其它客户端项目,则还会包括以下文件

技术分享

 

其它文件

*.cs 类文件。源代码都写在这里,主要就看这里的代码。

 

*.resx 资源文件,一些资源存放在这里,一般不需要看。

 

*.csproj C#项目文件,用VS打开这个文件就可以直接打开这个项目,自动生成,不需要看。

 

*.csproj.user 是一个配置文件,自动生成的,会记录项目生成路径、项目启动程序等信息。也不需要看。

 

*.Designer.cs 设计文件,自动生成,不需要看。

 

*.aspx 是网页文件,HTML代码写在这里面。

 

*.sln

sln全称(Visual Studio Solution 解决方案文件) 它将一个或多个项目的所有元素组织到单个的解决方案中。

通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,将它们组织到解决方案中。

比如是生成Debug模式,还是Release模式,是通用CPU还是专用的等

 

重命名解决方案和项目

重命名解决方案
        在“解决方案资源管理器”中右击解决方案节点,然后从上下文菜单中选择“重命名”。
        键入解决方案的新名称。
重命名项目
        在“解决方案资源管理器”中右击项目节点,然后从上下文菜单中选择“重命名”。
        键入解决方案的新名称。
        说明: 
                重命名项目不会自动重命名包含该项目的文件夹。

 

重命名解决方案和项目之后,可以手动命名文件夹,并在VS里重新添加项目的引用。

详细参考:https://msdn.microsoft.com/zh-cn/library/3e92t91t(v=vs.90).aspx

 

版本管理

上面也介绍了各个目录及文件的含义。那么我们在做版本管理时,就会清晰很多啦。

obj目录设置忽略,不需要版本管理

bin目录可以忽略也可以添加,看具体的需求,建议忽略

 

SVN版本管理

忽略已经版本控制的文件/目录

如果此文件/目录,所以提库了,那么可以采取以下方法

TortoiseSVN → Unversion and add to ignore list

技术分享

设置完之后,父目录的属性会改变,把父目录一并提交。

官网文档:https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-howto-unversion.html

 

更多SVN忽略文件和目录的设置:https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-dug-ignore.html

.Net工程详解及项目版本管理

标签:

原文地址:http://www.cnblogs.com/zhaoqingqing/p/5468072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!