一个做法是给一个解决方案一个ComDLL的目录,把有版本问题的DLL都放入这个目录中,并加入解决方案、check in到VSS中,解决方案中所有的项目引用都引用这个目录下的DLL,这样,即使不同的系统也不会有问题了。

.net 网站项目dll引用,项目引用的管理问题 收藏
一般大一点的程序

为了增强程序的可复用性,多将各个逻辑上独立的模块独立出来做为一个单独的项目来管理

一般的为了方便管理项目都把项目生成dll文件然后再引用,这样的好处是

一,源代码安全可以管理

二,程序的独立性更好一点

三.可单独发布dll文件

但是当一个程序越做越大的时候就会发现独立的项目越来越多,dll引用成了一个很大的问题.

大家知道类库项目添加dll引用只要选择一次,下次就可以自动到引用目录中查找同名dll文件

所以类库项目添加dll引用以后就不需要管理了,项目会根据dll文件的改变而自动更新引用!

(注意,类库生成路径要统一写成Z:\bin\dllname.dll 这个样子,前面必须带盘符否则嵌入源代码管理后,别人获取后会改成相对路径的,这样就不对了!必须要写盘符哦最好生成路径和源代码不要放到一个盘中)

以后添加引用都到z:\bin文件夹下添加就都统一了!

但是网站项目的dll引用就不一样了

所有的dll都需要放到bin文件夹下!

假设我有一个网站项目,很大下面分了很多个子网站.

这样的话每个子网站下都需要建立一个bin文件夹,如果有源代码修改过并重新生成dll

这样每个bin文件夹下都需要重新复制一份新的dll文件!

如果是一个网站还好,多个的话那就完了!改一次代码每个网站下都要重新复制一遍.每次找dll都累死人!还谈什么工作

所以为了解决这个问题,我思考了很久.想到了两个方案,

第一个是做一个文件复制工具.监测文件改动自动把改动过的dll复制到每个bin文件夹下

东西也确实做出来了!效果还可以!不过复制起来有点慢!还会出现把*.tmp文件也复制的情况!

还有一种方案更简单更省事!

就是使用符号链接

可能很多人不知道什么是符号链接.可以自己百度一下

具体的思路就是把每个网站下的bin文件夹映射到z:\bin目录.

这样只要修改z:\bin文件夹内的dll其他网站下的bin文件就自动的都改了.因为其实是同一个文件夹

建立符号链接有个工具叫junction.exe

为了方便管理免得每次都重新建立符号链接自己做了一个批处理

到http://download.csdn.net/source/2600862下载

代码如下:

junction   "E:\projects\GM\GMSaasBan\View\dcs\bin" "d:\wmb_bin\wmb_bin"
junction   "E:\projects\GM\GMSaasBan\View\crm\bin" "d:\wmb_bin\wmb_bin"
junction   "E:\projects\GM\GMSaasBan\View\dms\bin" "d:\wmb_bin\wmb_bin"
junction   "E:\projects\GM\GMSaasBan\View\erp\bin" "d:\wmb_bin\wmb_bin"
junction   "E:\projects\GM\GMSaasBan\View\fms\bin" "d:\wmb_bin\wmb_bin"

这样只要替换目录就可以自动的设置符号链接了

注意:

1.像E:\projects\GM\GMSaasBan\View\dcs\bin前面的源路径映射到目的路径d:\wmb_bin\wmb_bin的时候

每个网站的bin目录之中必须为空,否则会建立符号链接失败.有的即便空了也会失败,

2.映射物理路径中不能包含中文哦!否则建立会失败的

3.有的时候还是建立不成功的话,删掉目录重新建个bin目录再符号链接基本上就可以了

好了.各位只要源代码重新生成以下.或者dll改动一下.各个映射过的网站bin会自动更新dll引用的!

至此我相信各位的dll引用问题基本都已经解决了吧!

最后还有一个小技巧和大家分享一下.

如果你的网站项目需要vss管理源代码的话.记得把网站下的bin文件夹属性设为隐藏哦!同理只要不想让vss管理的文件夹,将其属性设为隐藏就可以了!

设为隐藏以后就不会收到vss的管理了!而且网站还可以正常运行,不受影响!

这回不用再头疼签出时一大堆提示签出*.dll文件了吧!

这个小技巧很多人不知道.拿出来大家分享!

支持的人多多推荐.我还有很多小技巧和大家分享哦!

还有junction   符号链接可以重复执行哦!不会影响使用的

还有符号链接是否建立成功是可以查看的哦!有个工具叫NTFSLinksView

到http://download.csdn.net/source/2600855下载

一个做法是给一个解决方案一个ComDLL的目录相关推荐

  1. uLua,一个Unity+Lua热更新解决方案!

    原文:http://game.ceeger.com/forum/read.php?tid=16483&fid=16 看了坛子上同学用Kopilua,以为真的跨平台没问题,就实验了安卓手机,然后 ...

  2. 玩转用例设计:XMind2TestCase一个高效的测试用例设计解决方案

    XMind2TestCase 工具,提供了一个高效测试用例设计的解决方案(开源) 一.背景 软件测试过程中,最重要.最核心就是测试用例的设计,也是测试童鞋.测试团队日常投入最多时间的工作内容之一. 然 ...

  3. 一个通用的计数限制解决方案

    一个通用的计数限制解决方案 参考文章: (1)一个通用的计数限制解决方案 (2)https://www.cnblogs.com/loogn/p/9023211.html 备忘一下.

  4. 一个优雅的占位图解决方案。适用于 UITableView 和 UICollectionView。

    FMListPlaceholder 项目地址:https://github.com/yfming93/FMListPlaceholder 一个优雅的占位图解决方案.适用于 UITableView 和 ...

  5. (开源)XMind2TestCase一个高效的测试用例设计解决方案

    XMind2TestCase 工具,提供了一个高效测试用例设计的解决方案! 一.背景 软件测试过程中,最重要.最核心就是测试用例的设计,也是测试童鞋.测试团队日常投入最多时间的工作内容之一. 然而,传 ...

  6. 3元购买微信小程序解决方案一个月

    3元购买微信小程序解决方案一个月 参考文章: (1)3元购买微信小程序解决方案一个月 (2)https://www.cnblogs.com/wqcheng/p/7458808.html 备忘一下.

  7. 分享一个完整的Mybatis分页解决方案

    分享一个完整的Mybatis分页解决方案 参考文章: (1)分享一个完整的Mybatis分页解决方案 (2)https://www.cnblogs.com/gev-1016/p/6606114.htm ...

  8. erlang节点互相ping,一个能ping通,另外一个不行。

    2019独角兽企业重金招聘Python工程师标准>>> 今天发现一个问题,2个erlang节点,1个主动ping另外一个不通,然后等待另外一个ping过来,2个节点才连通.记录一下. ...

  9. C#关闭一个窗口的同时打开另一个窗口

    在.net的WinForm程序中,如果是直接起动的Form作为主窗口,那么这个主窗口是不能关闭的,因为它维护了一个Windows消息循环,它一旦关闭了就等于声明整个应用程序结束,所以新打开的窗口也就被 ...

最新文章

  1. ubantu 添加防火墙策略_企业环境下用脚本设置ubuntu防火墙
  2. C# 字符串操作学习总结
  3. oracle asm 日志,Oracle+RAC+ASM数据库ora-00257日志归档器错误解决方法
  4. python生成词云_今天玩点啥:使用python生成微信好友地域分析、微信昵称、个性签名词云...
  5. 10、java中文件的抽象表示
  6. pb 查询客户端ip地址_特别篇-SAP 客户端(配置、测试、生产)
  7. 《趣题学算法》—第1章1.2节简单的数学计算
  8. clipse和IDEA快捷键对照表
  9. wsdl2java 命令 服务端_使用Axis2中的工具wsdl2Java的生成客户端和服务端代码
  10. 清除dnf垃圾进程 .bat文件
  11. python null类型
  12. java证书验证失败_使用certbot证书验证失败
  13. 灵感1-把歌曲(mp3等)转换乐谱(简谱、五线谱)等
  14. oracle rman crosscheck,rman的crosscheck命令
  15. 200+款神器,全网最好用的免费在线工具,都在这里了!
  16. 河南移动AI面试 面经
  17. ubuntu找不到无线网络
  18. bvs是什么意思_股票b和s是什么意思,区别原来这么简单
  19. 【Java 代码实例 13】Java操作pdf的工具类itext
  20. UG NX 12 中的基准坐标系删除了怎么恢复?

热门文章

  1. 训练日志 2019.7.23
  2. 笨小猴(信息学奥赛一本通-T1407)
  3. 29 CO配置-控制-产品成本控制-成本对象控制-期末结算-定义分配
  4. auto形式(更多功能)类结构实现
  5. python中的序列类型数据结构元素的切片操作_浅析python中的分片与截断序列
  6. cdr图片随意拉伸变形_如何操作才能使照片拉伸不变形
  7. STM32那点事(5)_ADC(上)
  8. 笨方法“学习python笔记之循环
  9. [UE4] Sequence 的某一条分支执行 delay 之后会继续执行下一条分支而不是停留在该分支
  10. echarts源码:图标类插件开发