Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 1083|回复: 0

visual studio(vs)中项目解决方案的目录组织安排

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-4-24 06:06:00 | 显示全部楼层 |阅读模式

    最进要用vs建立一个解决方案,同时也要依赖一些第三方库,为了以后便于维护,因此想让解决方案的各个文件夹的组织更加合理。通过网上搜索一些网友的解决方案,发现大致可以分为两种,分别参见网址https://blog.csdn.net/lp310018931/article/details/47991759和https://www.cnblogs.com/zuibunan/p/3843459.html,姑且叫他们方案A和方案B。截屏自上面两个网址,方案A和方案B的目录组织可以图示如下。
    方案A:

    方案B:

    可见,方案A和方案B的主要有两点不同,1、解决方案sln文件的位置,2、第三方库的位置。

    方案A的sln文件及project文件位于最外层,而方案B多了一个src文件夹,sln文件及project文件位于该文件夹内。方案A依赖的第三方库分布在include、bin、lib目录中,而方案B有一个3rd文件夹专门用于存放第三方库的东西。
    综合上述两种方案,决定sln文件的位置采用方案B的,这样的话即使有很多个project,最顶层还是那几个目录,不会显得乱。而第三方库的位置,采用方案B的,但是在include和lib文件中,都放到相应的以库名字命名的文件夹下,方便管理,而bin文件则直接放到bin下的当前配置文件夹下。
    假设当前sln文件名为test,有A.exe和B.dll两个项目,依赖于X.dll和Y.dll两个第三方库,那么目录的组织如下图所示。

    补充1:各位兄弟们,那个copy的问题我终于解决了,原来当目标路径的文件夹不存在时,copy命令就不好用了,提示系统找不到指定的路径。,把这句话:
    copy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName)\;
    换成以下这句就OK了……
    xcopy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName)\
    注意,命令变成了xcopy了,而且最后的分号去掉啦,之后即使Bin目录下没有Debug或Release目录编译器也会自动生成的!~

    补充2:避免下次编译覆盖文件提示加个“/y” 参数,具体修改如下:
    xcopy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName)\ /y
    这回就OK了,如果目标文件正在被使用中的话,会提示“共享侵犯”哦!~

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-22 16:15 , Processed in 0.056490 second(s), 27 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表