当我需要添加对库的引用时,我总是被告知使用“添加现有项目”方法,并在我的解决方案中引用项目本身。
但是在我的新公司,使用另一种方法。他们有一个服务器,它保存已编译的dll,并保留它们的版本,以便当更改过于重要而无法重构较旧的应用程序时,它们可以引用旧版本。
虽然我发现这个系统真的很复杂(我想如果指向较旧版本的dll的程序更新并且需要在这个dll中进行一些更改,那么有很多工作),他们似乎觉得很方便。
这方面的最佳做法是什么?直接链接DLL?链接项目?为什么?欢迎任何信息!
提前致谢!
答案 0 :(得分:4)
我通常会获取已编译的dll的副本(如果源项目不可用或者我不需要源代码)并将其放在我的解决方案中的文件夹中,然后引用它。我将它与我的项目一起检查到源代码控制。
我认为你应该能够检查一个项目并直接从源代码控制中构建它,而不必去寻找dll等。
答案 1 :(得分:3)
如果您希望引用并排开发的Add existing project
并希望library project
test/use
和types
,methods
方法非常有用并且此Add existing project
)方法不会用于添加pre-compiled
(dll
)个文件的引用。
阅读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等工具直接支持。