已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vs建多个解决方案篇一:用 VSXX打开 VSXX建的解决方案用 VSXX打开 VSXX建的解决方案 /webflash/archive/XX/07/06/ 一、为什么使用 VSXX VSXX(Microsoft Visual Studio XX)是一个较新版本,新版往往都比旧版本完善,而且会提供更多的特性与实用功能,但不一定是最稳定的版本。不稳定但不会影响喜欢尝新一族,相信很多人都是为了看看 VSXX的新脸孔而装了 VSXX。当然相信也有很多人会去使用 VSXX的一些新特性,比如在.刚出来的时候,很多人觉得新提供的“泛型”很有用,于是开始使用新的集成 IDE。 但是要换新的 IDE并不是想换就换的,比如公司要求用什么版本,我们个人是不能用新的版本来进行开发的,因为你的项目还要与其它团队队友合作。另外你的程序发布环境也是一个制约因素,比于说拿.NET 开发网站,客户说他自己没有服务器,而且现在众多虚拟主机都还没有提供新版本.NET 环境支持情况下,我们还是不要拿新版本应用于实际开发中。最多出于个人好奇,在自己机子上装上玩玩就行了。 二、我为什么要用 VSXX打开 VSXX创建的解决方案 作为一个小小的程序员,我有一个学习提高的习惯就是经常 download些源码读读,就拿.NET 方面来说,有时候下载些整站源码,发现打不开,这往往是因为下载的源码是用较高版本的 IDE开发的,这样虽然可以用记本事或一些轻量级的具有代码着色功能的编辑器查看,但始终感觉不够方便,小项目逐个文件打开阅读还算过的去,但是遇到大项目,这样阅读效率低,我喜欢 VS中的“转到定义”功能,这样可以轻松地查看当前调用方法或类的具体定义代码片段。 也许你会回答我你下载哪个版本开发的就用哪个版本IDE打开就行了,但是对于 VS,这家伙太大了,我不可能仅仅为了方便读一下代码要重新装个新版本,而不是用公司现有版本的 VS来打开它,我认为这代价很高。于是我想要找到一种较为折中的办法,这就是能不能用 VSXX打开VSXX建的解决方案。 经过查阅相关资料后发现有牛人试验成功。但有一点还是要注意的,如果你下载的代码是用 VSXX开发的,程序本身一点没有用 VSXX,或用.以上特性,我们还是可能完美编译并运行它的,否则我们最多是在 VSXX中打开看看代码,运行则会报错,除非你改变 VSXX的.NET 版本(不知道能不能改变) 。 三、关于 VS解决方案及项目文件格式尝试用记事本去打开 VS解决方案(sln 格式)及项目文件(csproj 格式) ,发现都能正常打开并看到相关内容,发现 sln文件类似于 Apache的配置文件,而 csproj是标准的 XML文档,这意味着可以拿它与其它版本生成的文件进行比较并作相应修改,下面再推荐一个实用对比小软件。四、动手修改 VSXX的解决方案文件,以让 VSXX打开它 用记事本打开解决方案文件“解决方案名.sln” ,然后修改最上面两行为如下代码: Microsoft Visual Studio Solution File, For(来自: 小龙文 档网:vs 建多个解决方案)mat Version # Visual Studio XX 用记事本打开每个项目文件“项目名.csproj” ,在节点下移除如下节点: 并修改 ProductVersion和 Import两个节点为如下: 注意:在我修改 Discuz!NT源码部分项目文件 XML的时候,发现上面说的一些节点是没有的,经对比分析发现,这些项目应该是用旧版本 VS开发的,在转到新版本 VS后,这些项目再没有被修改过,所以可以不理。而在我试图运行整个项目的时候,又发现运行不起来,根据错误报告发现 Discuz!NT项目确实用了.的一些新特性,比如用了属性的缺省写法:public int TimeOut set; get; 篇二:VSXX 解决方案的目录结构设置和管理/tech/devlodoc/C/?page=2 VC XX 解决方案的目录结构设置和管理 一个中等规模的解决方案通常都会包含多个项目,其中一些项目产出静态库,一些产出动态库,一些用于单元测试,还有的产出最终的应用程序执行档。除此以外,根据项目的需求,还会使用一些第三方的库。 所以为解决方案设置一个合理的目录结构,不但可以使得代码管理更井井有条,项目成员之间也更容易相互配合,更重要的是能够使得最终应用程序的安装包制作,源代码打包发布和转移变得十分容易。 解决方案与项目: 从 VC6之后 VC系列就使用解决方案(Solution)来替代原来的工作空间,用于组织和管理多个相关的项目(Project) 。 文章首先演示一个虚拟的解决方案和我们期望得到的目录结构,然后使用 VCXX的项目设置功能来一步一步达到我们的需求。 虚拟解决方案: 该虚拟解决方案名为 GMA,包含一个动态链接库项目ChocolateMilk和一个应用程序项目 PureMilk,需要使用一个第三方库 log4cxx(Apache log4j的 C+移植版本,用于日志输出) 。 log4cxx 是以动态库的方式编译的,所以我们需要它的 3样东西,分别是头文件,导入库(, )和动态链接库() 。 假设我们期望的目录结构如下图: 1 GMA 是解决方案目录 2 PureMilk 和 ChocolateMilk是项目目录 3 Lib目录用于存放导入库或者静态库(包括第三方库和自己的项目) 4 Include 用于存放第三方库的头文件5 Bin目录存放所有动态链接库和执行档,包括自己的产出和第三方库,区分 Release和 Debug两个版本。另外,程序运行过程中需要外部的数据文件和启动时需要的配置文件等等都可放于该目录 6 Temp用于存放临时生成文件,其中 Compile存放编译器编译时生成的 obj文件,Link 存放链接器的输出文件。 上面目录结构清晰,一面了然,当我们的程序需要制作安装包或者要打包源码 发布的时候,它能够使得我们生活变得更容易_ 制作安装包时我们只需将“/GMA/Bin/Release/”目录下的所有文件打包。 发布和转移源码的时候我们可以打包除了 Temp目录以外“/GMA/”下面的所有文件和目录(如果不需要执行档,也可不包括 Bin) 。 我们的需求是明确的,可是 VC XX并不会自动为我们做好上面所有的事情。不过我们并不需要编写复杂的编译脚本(makefile) ,只需要简单的修改项目的缺省设置即可。我们需要 VC为我们做的事情包括: 1使用“/GMA/Temp/Compile/”作为项目编译时使用的中间目录 2使用“/GMA/Temp/Link/”作为项目链接的输出目录 3当项目是应用程序时,在构建结束后拷贝执行文件到“/GMA/Bin/Release/”或“/GMA/Bin/Debug/” ,当项目是动态链接库时,除了拷贝 dll到 Bin,还拷贝导入库到“/GMA/Lib/” 4当项目是应用程序时,调试时运行“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”下面的执行文件,并以“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”为工作目录 首先看一下项目设置中可以使用的宏,常用的有: 首先来设置 ChocolateMilk:1使用“/GMA/Temp/Compile/”作为项目编译时使用的中间目录 2使用“/GMA/Temp/Link/”作为项目链接的输出目录 注意高亮的部分,首先将配置改成 All Configuration(全部配置) ,这样可以让我们同时修改Debug和 Release的部分; Output Directory(输出目录,链接器)栏位填入: $(SolutionDir)TempLink$(ProjectName)$(ConfigurationName) Intermediate Directory(中间目录,编译器)栏位填入: $(SolutionDir)TempCompile$(ProjectName)$(ConfigurationName) 3构建结束后拷贝动态链接库到“/GMA/Bin/Release/”或“/GMA/Bin/Debug/” ,拷贝导入库到“/GMA/Lib/” 我们通常都会在 Debug版本的输出库后面加上字母“d”以表示这是 Debug版本,在 Debug配置下,修改 Import Library栏位: VC 可以让我们设置构建前后执行的脚本程序,所以为了完成 3, 我们需要写构建后执行的脚本: 在 Command Line中填入,Debug 配置下:copy $(TargetPath) $(SolutionDir)Bin$(ConfigurationName); copy $(TargetDir)$(TargetName) $(SolutionDir)Lib; Release配置下: copy $(TargetPath) $(SolutionDir)Bin$(ConfigurationName); copy $(TargetDir)$(TargetName).lib $(SolutionDir)Lib; 之所以要分别设置是因为 VC没有表示导入库的宏名字 -_-P OK,到此为止,你就可以编译 ChocolateMilk项目试试是不是一切正常了,不过请确认拷贝的目标目录事先建立好。 接下来我们设置应用程序项目 PureMilk: 1使用“/GMA/Temp/Compile/”作为项目编译时使用的中间目录 2使用“/GMA/Temp/Link/”作为项目链接的输出目录 首先将配置改成 All Configuration(全部配置) ,这样可以让我们同时修改 Debug和 Release的部分; Output Directory(输出目录,链接器)栏位填入: $(SolutionDir)TempLink$(ProjectName)$(ConfigurationName) Intermediate Directory(中间目录,编译器)栏位填入: $(SolutionDir)TempCompile$(ProjectName)$(ConfigurationName) 3构建结束后拷贝执行文件到“/GMA/Bin/Release/”或“/GMA/Bin/Debug/” 在Command Line中填入,All 配置下: copy $(TargetPath) $(SolutionDir)Bin$(ConfigurationName); 4调试时运行“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”下面的执行文件,并以“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”为工作目录 篇三:VS 三层架构的搭建(1)打开 VS XX开发环境,依次选择“文件“新建“项目“命令 (2)在打开的“新建项目“对话框中,选择项目类型为“Visual Studio解决方案“,选择模板为“空白解决方案“。然后填写解决方案的名称为“Chat“,并指定保存位置 (3)在“解决方案资源管理器“中,在解决方案名称上单击鼠标右键,在弹出的快捷菜单中选择“添加“新建项目“命令 (4)在打开的“新建项目“对话框中,选择项目类型为“Visual C#“,选择模板为“类库“。填写项目的名称为“DAL“,该项目用于实现数据访问层。此时项目的保存位置已经默认输入了,是刚才创建空白解决方案时产生的路径 2搭建业务逻辑访问层 搭建业务逻辑层的步骤与搭建数据访问层类似,不同的是需要重新填写项目名称为“BLL“, 3搭建表示层 (1)在“解决方案资源管理器“中,在解决方案名称上单击鼠标右键,在弹出的快捷菜单中选择“添加“新建网站“命令 (2)在打开的“添加新网站“对话框中,选择“网站“,选择位置为“文件系统“,并设置网站的路径 在三层结构开发中,通常还会使用模型层。模型层包含所有与数据库中的表相对应的实体类。表示层、业务逻辑层和数据访问层三层之间通过传递实体对象来达到数据传递的目的。创建模型层的步骤与搭建业务逻辑层和数据访问层类似,不同的是需要重新填写项目名称为“Models“, 此时,在“解决方案资源管理器“中,三层结构的基本框架如图 4所示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年九年级物理上学期期中考试模拟试题与答案详解(第07套)
- 2026年朝阳市建平县数学三年级第二学期期末质量检测模拟试题(含答案解析)
- 2025-2026学年江苏省扬中市初中历史九年级期末下册深度自测重点专题卷附答案
- 2026学年江苏省徐州市三年级语文期末深度自测潜能激发题详细参考解析详细答案和解析
- 建筑制图 第五章
- 金属打火机制作工岗中基础实操考核试卷含答案
- 石英晶体滤波器制造工岗位事件处置考核试卷含答案
- 保温成棉控制工岗中基础晋升考核试卷含答案
- 白油装置操作工岗位工艺规程考核试卷含答案
- 2025年职业技能鉴定考试(餐厅服务员初级)历年参考题库含答案详解(5套题版)
- 陕西挂职管理办法
- 医院科室经费管理办法
- 中考数学计算题强化训练100题附答案(2025年中考真题)
- 淹萝卜教学课件
- 机械制造技术课程设计-倒档变速叉工艺及铣端面夹具设计
- 考级《小卜少》教案
- TD/T 1032-2011基本农田划定技术规程
- 2024年度江苏省政府采购专家库题(4套)
- 2022-2023学年北京市海淀区首都师大附中九年级(上)期中数学试卷【含解析】
- 码头起货合同范本
- 执业医师考证协议书
评论
0/150
提交评论