在项目中添加库引用的建议是什么?

时间:2011-10-11 10:16:50

标签: c# visual-studio-2010 dll

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

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

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

这方面的最佳做法是什么?直接链接DLL?链接项目?为什么?欢迎任何信息!

提前致谢!

5 个答案:

答案 0 :(得分:4)

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

我认为你应该能够检查一个项目并直接从源代码控制中构建它,而不必去寻找dll等。

答案 1 :(得分:3)

如果您希望引用并排开发的Add existing project并希望library project test/usetypesmethods方法非常有用并且此Add existing project)方法不会用于添加pre-compileddll)个文件的引用。

阅读Project Reference(MSDN)文章。

答案 2 :(得分:2)

当您想要同时处理库时,可以将其包含为项目。这种情况主要发生在小型(ish)库中,这些库将与您的程序一起分发(bin文件夹)。

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

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

答案 3 :(得分:1)

添加编译的dll主要是在代码或多或少地锁定(架构级代码)时,您几乎不会更改 例如

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

2)Generic Gui图层(向导/对话框)

3)安全层(azman stuff)

你只需要改变你的产品转向另一个方向时说它使用.net远程作为通信现在它将使用WCF

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

答案 4 :(得分:1)

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