vs建多个解决方案Word文件下载.docx
《vs建多个解决方案Word文件下载.docx》由会员分享,可在线阅读,更多相关《vs建多个解决方案Word文件下载.docx(4页珍藏版)》请在冰豆网上搜索。
作为一个小小的程序员,我有一个学习提高的习惯就是经常download些源码读读,就拿.net方面来说,有时候下载些整站源码,发现打不开,这往往是因为下载的源码是用较高版本的ide开发的,这样虽然可以用记本事或一些轻量级的具有代码着色功能的编辑器查看,但始终感觉不够方便,小项目逐个文件打开阅读还算过的去,但是遇到大项目,这样阅读效率低,我喜欢Vs中的“转到定义”功能,这样可以轻松地查看当前调用方法或类的具体定义代码片段。
也许你会回答我你下载哪个版本开发的就用哪个版本ide打开就行了,但是对于Vs,这家伙太大了,我不可能仅仅为了方便读一下代码要重新装个新版本,而不是用公司现有版本的Vs来打开它,我认为这代价很高。
于是我想要找到一种较为折中的办法,这就是能不能用Vs20xx打开Vs20xx建的解决方案。
经过查阅相关资料后发现有牛人试验成功。
但有一点还是要注意的,如果你下载的代码是用Vs20xx开发的,程序本身一点没有用Vs20xx,或用.net3.5以上特性,我们还是可能完美编译并运行它的,否则我们最多是在Vs20xx中打开看看代码,运行则会报错,除非你改变Vs20xx的.net版本(不知道能不能改变)。
三、关于Vs解决方案及项目文件格式
尝试用记事本去打开Vs解决方案(sln格式)及项目文件(csproj格式),发现都能正常打开并看到相关内容,发现sln文件类似于apache的配置文件httpd.conf,而csproj是标准的xml文档,这意味着可以拿它与其它版本生成的文件进行比较并作相应修改,下面再推荐一个实用对比小软件。
四、动手修改Vs20xx的解决方案文件,以让Vs20xx打开它
用记事本打开解决方案文件“解决方案名.sln”,然后修改最上面两行为如下代码:
microsoftVisualstudiosolutionFile,For(vs建多个解决方案)matVersion9.00#Visualstudio20xx
用记事本打开每个项目文件“项目名.csproj”,在 节点下移除如下节点:
v2.0
并修改productVersion和import两个节点为如下:
8.0.50727
注意:
在我修改discuz!
nt源码部分项目文件xml的时候,发现上面说的一些节点是没有的,经对比分析发现,这些项目应该是用旧版本Vs开发的,在转到新版本Vs后,这些项目再没有被修改过,所以可以不理。
而在我试图运行整个项目的时候,又发现运行不起来,根据错误报告发现discuz!
nt项目确实用了.net3.5的一些新特性,比如用了属性的缺省写法:
publicinttimeout{set;
get;
}
篇二:
Vs20xx解决方案的目录结构设置和管理
/tech/devlodoc/c/page=2Vc20xx解决方案的目录结构设置和管理
一个中等规模的解决方案通常都会包含多个项目,其中一些项目产出静态库,一些产出动态库,一些用于单元测试,还有的产出最终的应用程序执行档。
除此以外,根据项目的需求,还会使用一些第三方的库。
所以为解决方案设置一个合理的目录结构,不但可以使得代码管理更井井有条,项目成员之间也更容易相互配合,更重要的是能够使得最终应用程序的安装包制作,源代码打包发布和转移变得十分容易。
解决方案与项目:
从Vc6之后Vc系列就使用解决方案(solution)来替代原来的工作空间,用于组织和管理多个相关的项目(project)。
文章首先演示一个虚拟的解决方案和我们期望得到的目录结构,然后使用Vc20xx的项目设置功能来一步一步达到我们的需求。
虚拟解决方案:
该虚拟解决方案名为gma,包含一个动态链接库项目chocolatemilk和一个应用程序项目puremilk,需要使用一个第三方库log4cxx(apachelog4j的c++移植版本,用于日志输出)。
log4cxx是以动态库的方式编译的,所以我们需要它的3样东西,分别是头文件,导入库(log4cxx.lib,log4cxxd.lib)和动态链接库(log4cxx.dll)。
假设我们期望的目录结构如下图:
1.gma是解决方案目录
2.puremilk和chocolatemilk是项目目录
3.lib目录用于存放导入库或者静态库(包括第三方库和自己的项目)
4.include用于存放第三方库的头文件
5.bin目录存放所有动态链接库和执行档,包括自己的产出和第三方库,区分Release和debug两个版本。
另外,程序运行过程中需要外部的数据文件和启动时需要的配置文件等等都可放于该目录
6.temp用于存放临时生成文件,其中compile存放编译器编译时生成的obj文件,link存放链接器的输出文件。
上面目录结构清晰,一面了然,当我们的程序需要制作安装包或者要打包源码发布的时候,它能够使得我们生活变得更容易^_^
制作安装包时我们只需将“/gma/bin/Release/”目录下的所有文件打包。
发布和转移源码的时候我们可以打包除了temp目录以外“/gma/”下面的所有文件和目录(如果不需要执行档,也可不包括bin)。
我们的需求是明确的,可是Vc20xx并不会自动为我们做好上面所有的事情。
不过我们并不需要编写复杂的编译脚本(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:
注意高亮的部分,首先将配置改成allconfiguration(全部配置),这样可以让我们同时修改debug和Release的部分;
outputdirectory(输出目录,链接器)栏位填入:
$(solutiondir)\temp\link\$(projectname)\$(configurationname)intermediatedirectory(中间目录,编译器)栏位填入:
$(solutiondir)\temp\compile\$(projectname)\$(configurationname)
3.构建结束后拷贝动态链接库到“/gma/bin/Release/”或“/gma/bin/debug/”,拷贝导入库到“/gma/lib/”我们通常都会在debug版本的输出库后面加上字母“d”以表示这是debug版本,在debug配置下,修改importlibrary栏位:
Vc可以让我们设置构建前后执行的脚本程序,所以为了完成3,我们需要写构建后执行的脚本:
在commandline中填入,debug配置下:
copy$(targetpath)$(solutiondir)\bin\$(configurationname)\;
copy$(targetdir)$(targetname)d.lib$(solutiondir)\lib\;
Release配置下:
copy$(targetdir)$(targetname).lib$(solutiondir)\lib\;
之所以要分别设置是因为Vc没有表示导入库的宏名字-_-p
ok,到此为止,你就可以编译chocolatemilk项目试试是不是一切正常了,不过请确认拷贝的目标目录事先建立好。
接下来我们设置应用程序项目puremilk:
首先将配置改成allconfiguration(全部配置),这样可以让我们同时修改debug和Release的部分;
outputdirectory(输出目录,链接器)栏位填入:
$(solutiondir)\temp\compile\$(projectname)\$(configurationname)3.构建结束后拷贝执行文件到“/gma/bin/Release/”或“/gma/bin/debug/”在commandline中填入,all配置下:
copy$(targetpath)$(solutiondir)\bin\$(configurationname);
4.调试时运行“/gma/bin/debug/”或“/gma/bin/Release/”下面的执行文件,并以“/gma/bin/debug/”或“/gma/bin/Release/”为工作目录
篇三:
Vs三层架构的搭建
(1)打开Vs20xx开发环境,依次选择"
文件"
→"
新建"
项目"
命令
(2)在打开的"
新建项目"
对话框中,选择项目类型为"
Visualstudio解决方案"
,选择模板为"
空白解决方案"
。
然后填写解决方案的名称为"
chat"
,并指定保存位置
(3)在"
解决方案资源管理器"
中,在解决方案名称上单击鼠标右键,在弹出的快捷菜单中选择"
添加"
(4)在打开的"
Visualc#"
类库"
填写项目的名称为"
dal"
,该项目用于实现数据访问层。
此时项目的保存位置已经默认输入了,是刚才创建空白解决方案时产生的路径
2.搭建业务逻辑访问层
搭建业务逻辑层的步骤与搭建数据访问层类似,不同的是需要重新填写项目名称为"
bll"
,
3.搭建表示层
(1)在"
新建网站"
添加新网站"
对话框中,选择"
网站"
,选择位置为"
文件系统"
,并设置网站的路径
在三层结构开发中,通常还会使用模型层。
模型层包含所有与数据库中的表相对应的实体类。
表示层、业务逻辑层和数据访问层三层之间通过传递实体对象来达到数据传递的目的。
创建模型层的步骤与搭建业务逻辑层和数据访问层类似,不同的是需要重新填写项目名称为"
models"
此时,在"
中,三层结构的基本框架如图4所示
4.添加各层之间依赖关系
此时,虽然三层结构的基本框架已经搭建成功,但是各层之间是独立的。
只有添加依赖关系,才能让它们相互协作。
(1)添加表示层对业务逻辑层及模型层的依赖。
在"
中,在表示层上单击鼠标右键,在弹出的快捷菜单中选择"
添加引用"
选项卡,选中项目名称为"
和"
的两个项目,单击"
确定"
按钮,
(3)使用上述方法在业务逻辑层中添加对数据访问层和模型层的依赖,以及数据访问层对模型层的依赖。
至此,三层结构及各层之间的依赖关系创建完毕。