Objective
The purpose of this article is to give more small partners a clear understanding of the VS generated project. In the development process, in order to catch up with the progress, not everyone has the time to study.
But if the top project managers are not familiar with these engineering catalogs, and the intermediate files of the VS compilation to SVN, then other colleagues in the code, will find that there are more than n files have been modified, in fact, some directories and files are not necessary to version control.
Say why the recent write some C # client articles (including WinForm and WPF), my company game project needs, need some gadgets and game micro-end, we are developed under Windows, naturally will think of Microsoft Brother's client technology , naturally this is also a good opportunity to learn.
. Net (C #) Engineering structure diagram
Bin
Bin directory is used to store the results of the compilation, Bin is the English abbreviation of binary binrary, because the original C # compiled program files are binary files, it has debug and release two versions, respectively, the corresponding folder for Bin/debug and Bin/release, This folder is the default output path and can be modified by the output path, configuration properties, project properties, and so on.
Obj
OBJ is an abbreviation for object that holds intermediate temporary files generated during compilation. Each of them has debug and release two subdirectories, corresponding to the debug version and release version, in. NET, the compilation is a sub-module, the compilation will be merged into one after completion. DLL or. exe is saved to the bin directory. Because incremental compilation is the default at compile time, which means that only the changed modules are recompiled, obj saves the compilation results of each module to speed up the compilation. Whether you are using incremental compilation, you can set it by using incremental compilation , advanced , Configuration Properties , project Properties .
Properties
The Properties folder defines the attributes of your assembly, and if it is a console project, there is only one AssemblyInfo.cs file,AssemblyInfo.cs The information used to save the assembly, such as name, version, etc. This information is generally corresponding to the data in the project Properties panel and does not need to be written manually.
About assemblies Welcome to my other article, "C # Assembly properties (file details)"
For other client projects, such as WinForm and WPF, the following files are also included
Other documents
The *.cs class file. The source code is written here, mainly on the code here.
*.resx resource files, some resources are stored here, generally do not need to see.
*.csproj C # project file, with vs open this file can directly open this project, automatically generated, do not need to see.
*.csproj.user is a configuration file that is automatically generated, which records information such as the project build path, project startup program, and so on. I don't need to see it.
*. Designer.cs design files, automatically generated, do not need to see.
*.aspx is a Web page file, and the HTML code is written in this area.
*.sln
SLN Full Name (Visual Studio Solution solution file) It organizes all the elements of one or more projects into a single solution.
Organize your environments into solutions by providing them with references to the location of projects, project items, and solution items on disk.
such as the generation of debug mode, or Release mode, is the general CPU or private
Renaming solutions and Projects
Renaming a solution
In Solution Explorer, right-click the solution node and select Rename from the context menu.
Type a new name for the solution.
Renaming items
In Solution Explorer, right-click the project node and select Rename from the context menu.
Type a new name for the solution.
Description
Renaming An item does not automatically rename the folder that contains the item.
After renaming the solution and project, you can manually name the folder and re-add the references to the project in VS.
Detailed reference: HTTPS://MSDN.MICROSOFT.COM/ZH-CN/LIBRARY/3E92T91T (v=vs.90). aspx
Version Management
The meanings of each directory and file are also described above. Then we'll be a lot clearer when it comes to versioning.
obj directory settings ignored, version management not required
Bin directory can be ignored or added, see Specific requirements, recommended ignore
SVN version ManagementIgnore version-controlled files/directories
If this file/directory, so the library, then you can take the following methods
Tortoisesvn→unversion and add to ignore list
Once set, the parent directory's properties are changed and the parent directory is submitted together.
Official documents: https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-howto-unversion.html
More svn ignores file and directory settings: https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-dug-ignore.html
. NET Engineering detail and project version management