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

前言

写这篇文章的目地是为了让更多的小伙伴对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

时间: 2024-08-29 20:06:39

.Net工程详解及项目版本管理的相关文章

net core 中间件详解及项目实战

net core 中间件详解及项目实战 前言 在上篇文章主要介绍了DotNetCore项目状况,本篇文章是我们在开发自己的项目中实际使用的,比较贴合实际应用,算是对中间件的一个深入使用了,不是简单的Hello World,如果你觉得本篇文章对你有用的话,不妨点个[推荐]. 目录 中间件(Middleware)的作用 中间件的运行方式 中间件(Middleware)和过滤器(Filter)的区别 什么情况我们需要中间件 怎么样自定义自己的中间件 中间件(Middleware)的作用 我们知道,任何

Maven快速创建SpringMVC web工程详解(2)

一.前言 在上一篇文章中,讲解了如何用maven创建web工程,并简单搭建基于Spring框架的MVC工程,但是配置较为简单,很多配置尚未涉及:本文对 Spring MVC工程的更多详细配置.使用,进行进一步的讲解,搭建一个完整.可用的Spring web工程框架. 二.配置文件目录放置修改 根据maven工程提倡的标准目录结构,我们将/WEB-INF/目录下的Spring配置文件移到 /src/main/resources/ 目录下:而因为Spring默认加载的配置文件目录为/WEB-INF/

Maven详解之------maven版本管理

本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/38424065, 版权所有 现在所说的maven版本不同于SVN的版本控制哦!!! 之前我们说过Maven的版本分为快照和稳定版本,快照版本使用在开发的过程中,方便于团队内部交流学习.而所说的稳定版本,理想状态下是项目到了某个比较稳定的状态,这个稳定包含了源代码和构建都要稳定. 一.如何衡量项目的稳定状态呢? 1. 所有的自动化测试应当全部通过 2. 项目没有配置任何快照版本的依赖 3

详解Maven项目利用java service wrapper将Java程序生成Windows服务

在项目的开发中,有时候需要将Java应用程序打包成Windows服务,我们就直接可以通过windows的服务来启动和关闭java程序了. 本博文将通过有两种方法实现该功能,手动创建法和Maven自动打包法. 一. 准备 下载java service wrapper 网址:http://sourceforge.net/projects/wrapper/或http://wrapper.tanukisoftware.com/doc/english/download.jsp 我下载的版本是wrapper

React Native通过cocoaPods集成到现有工程详解

一.集成便利 ReactNative对外提供一个View CocoaPods支持ReactNative 二.集成需要环境 CocoaPods - gem install cocoapods Node.js - brew install node 三.用CocosPod安装React 项目的根目录下 Podfile 文件: platform:ios,'7.0' use_frameworks! target ‘kugou’ do pod 'React' pod 'React/RCTText' pod

详解-vue项目中的文件和目录

可以用vue-cli来支持一个项目. 建议使用npm 3+更高效的依赖关系树: $ npm install -g vue-cli $ vue init webpack my-project $ cd my-project $ npm install $ npm run dev 项目结构: . ├── build/ # webpack配置文件 │ └── ... ├── config/ │ ├── index.js # 主要项目配置 │ └── ... ├── src/ │ ├── main.js

Android开发 详解开源项目CircleImageView

之前的项目中在需要显示圆形头像的地方,使用到了Github上的优秀开源项目CircleImageView https://github.com/hdodenhof/CircleImageView 今天仔细地研究了这个项目,学习其原理,收获不少. 源码主要分为下面这几大部分 取图片Bitmap 取自定义属性 创建Paint画笔 计算内外圆半径 Canvas绘制内外圆形 一.取图片Bitmap CircleImageView继承自ImageView 重写了下面几个方法 @Override publi

cocos2d-x 创建工程详解

我们的编写的第一个程序一般习惯上都命名为HelloWorld,从它开始再学习其他的内容.下面介绍的第一个Cocos2d-x游戏我们也命名为HelloWorld. 创建工程 在Cocos2d-x早期版本中,创建工程是通过安装在Visual Studio中的工程模板而创建的,而目前创建工程Cocos2d-x是通过Cocos2d-x提供的命令工具cocos实现的,cocos位于<Cocos2d-x安装目录>\tools\cocos2d-console\bin下.我们能够通过DOS等终端进入bin目录

转:Eclipse中创建Maven版的Web工程(详解)

一.搭建步骤 ?首先创建一个Maven的Project,如下图: ?点击Next,勾选 Create a simple project ?点击Next,注意Packing要选择war,因为我们创建的是一个Web工程 ?由于packing是war包,那么下面也就多出了webapp的目录 ?由上图可知,这其实是一个Maven的目录结构,对于Maven来说这是一个Web工程,但对于Eclipse来说这是一个Java工程.Web工程目录至少得有一个WebContent以及WebContent下有web.