2011-10-11 40 views
4

当我需要为库添加引用时,我总是被告知要使用“添加现有项目”方法,并在我的解决方案中引用项目本身。在项目中添加库引用的建议是什么?

但是,在我的新公司,使用另一种方法。他们有一个服务器,它保存已编译的DLL,并保留它们的版本,以便在更改对于重构旧应用程序太重要时,它们可以引用旧版本。

虽然我觉得这个系统真的很复杂(我猜如果一个指向旧版本dll的程序被更新并且需要对这个dll进行一些更改,那么这个系统会有很多工作),但他们似乎觉得这很方便。

这是什么最佳实践?直接链接dll?链接该项目?为什么?任何信息都欢迎!

在此先感谢!

回答

2

当你想同时在图书馆工作时,你会把它作为一个项目加入。而这种情况主要发生在将随程序(bin文件夹)分发的小型(ish)库中。

当程序集(将要)安装在GAC中,因此具有其自己的发布周期时,仅引用该二进制文件就更有意义。

以上几种组合也是可能的。

4

我通常会将已编译的dll的副本(如果源项目不可用或不需要源代码)放到解决方案中的文件夹中,然后引用它。我检查它是否与我的项目一起来源控制。

我,你应该能查出来的项目,并直接从源头控制建设,而不必去打猎的dll等,当你想引用一个library project

3

Add existing project方法是有用的意见这是并排开发的,你想要test/use这是typesmethods这个(Add existing project)方法将不会被用来添加pre-compileddll)文件的引用。

阅读Project Reference(MSDN)的文章。

1

添加编译的DLL主要是当代码或多或少锁定(体系结构级别的代码),你未落改变 例如

1)通信层(远程处理/ WCF)

2)通用桂层(向导/对话框)

3)安全层(阿兹曼的东西)

你只需要在你的产品走向另一个方向来改变说它使用使用.NET远程处理的COMMUNICAT现在它将使用WCF

当您经常更改引用的项目时使用项目作为参考 此外,Visual Studio可以很好地完成构建项目的顺序。

1

尽管贵公司的方法在Microsoft开发人员中可能不是很常见,但它在Java世界中的使用相当成功。从长远来看,它可能比其他任何方法都有更好的控制,但是如果没有相当数量的支持脚本/程序(例如,在需要时自动更新项目/解决方案),它很容易变得难以管理。在Java世界中,它被诸如Maven等工具直接支持。

相关问题