再谈C#如何重复使用已有的代码.
来源:互联网 发布:服务器默认端口号 编辑:程序博客网 时间:2024/05/16 14:23
其它关于本主题的文章请看我以前的文章
<再谈.net项目类库dll的管理及Framework 文件重用方法>
http://blog.csdn.net/phker/article/details/52946455
即采用了上一篇文章之后. 这种共享文件夹, 共享输出dll的方式仍然会有一些问题不能解决.
第一个问题是: dll 的依赖关系无法处理.
新项目中引用common项目的dll时, 需要知道 common项目又引用了哪个 dll 很头疼.
第二个问题是: dll 的版本冲突.
举个例子. Elmah 项目中引用了 Json.Net 2.0 . 而我在新项目中忘记了 又引用了Json.net 3.0 和Elmah项目. 这样的项目依赖导致dll引用版本冲突..很难解决.很麻烦.
第三个问题是: dll 的版本依赖太多. 形成了依赖链.很难解开.
这一点在java的开源项目上最明显.. 需要很多的jar包. jar包之间还有冲突.jar包的版本问题. 这个问题常常困扰java开发人员.. 到目前为止也没有什么有效的解决方法..
对于以上3个问题, 有两个解决方案.
一是 使用NuGet, 并且搭建公司自己的NuGet服务器. 把开源项目经过筛选放到自己的服务器里. 这样可以控制开源版本的随意升级导致的公司内部系统不稳定和版本冲突. 而且也可以把自己公司内部的一些项目打包起来放进去… NuGet 本身就拥有自动解决dll依赖的功能.非常强大.建议用来管理开源项目和一些很底层的不需要依赖很多dll 的项目.
第二个使用svn的文件夹共享功能, 也就是svn的文件夹快捷方式..具体操作方法请自行百度. svn:externals 仅需设置一次其它开发人员即可生效..方便管理. 这种方法适合用来放util工具类. 原因是util工具类一般功能单一,.基本上一个文件干一个事情..例如sqlHelper, stringHelper. util项目却由于长期的积累却比较大. 我的util类就多达50多个... 这些都是能够大量减少工作量的代码... 但是对于这种工具类组成的Common项目. 由于功能各异,单独建立项目又不合适.而且它们组成的依赖dll会非常多... 对于此类Common项目我建议使用svn的文件夹共享功能. 把需要的工具类包含进来, 不需要的则排除掉.
阅读全文
1 0
- 再谈C#如何重复使用已有的代码.
- 如何使用已有的主题
- 动态生成鼠标指针--可以利用已有的图片生成鼠标指针--C#代码
- C# 如何判断并且激活,最大化已有的外部应用程序的窗口? (源码例程)
- C#里调用已有的DLL
- 如何通过Eclipse从已有的项目代码中快速提出接口
- 如何在已有的iOS APP原生代码中整合React Native
- 如何把本地已有的项目传到服务器或某代码托管平台
- 十月反思 之 改进已有的代码
- 如何给已有的Project改名字?
- 如何导入已有的外部数据库
- 如何导入已有的外部数据库
- [Android]如何导入已有的外部数据库
- 如何导入已有的外部数据库
- [Android]如何导入已有的外部数据库
- eclipse如何将已有的工程导入
- 如何将已有的工程导入eclipse
- [Android]如何导入已有的外部数据库
- freemarker中非空判断、三目运算的例子
- tomcat结合nginx实现多个tomcat同时运行,tomcat负载均衡
- hi3531A tslib,qt4.6.2移植笔记(二)
- JVM性能优化―― 编译器
- 莫比乌斯反演函数
- 再谈C#如何重复使用已有的代码.
- redis基本命令
- oracle常用命令--插入/添加表数据之insert命令
- 关于进程或机器间通信问题
- Ill-advised or mistaken usage of a core class
- java线程
- Eclipse 的 Jetty 插件安装
- 高德,百度,Google地图定位偏移以及坐标系转换
- Essential Studio for WPF更新至2017 v2,新增Adobe X安全性等功能丨附下载