依赖关系和参考资料 - 我应该参考什么?

时间:2008-11-06 10:21:56

标签: .net build reference

我想知道在构建项目时要包含什么。我有一个库,我需要参考我的项目来构建,但该库本身有10个依赖项。我是否应该引用这些依赖项,还是应该使用post build事件将它们复制到输出目录?

最佳做法是什么?

我发现包含所有这些依赖项令人困惑,因为没有它们项目编译得很好 - 它们是否被称为运行时依赖项?我的引用变得混乱,依赖项对我的项目无关紧要,即使它们在我所包含的某些库中使用。

我正在使用Visual Studio。

有人可以给我一些有关如何做到这一点的见解。

感谢。

3 个答案:

答案 0 :(得分:2)

这只是意见。无论哪种方式都可行。

我个人讨厌构建后的BAT文件,所以我会包含依赖项以将它们复制到输出目录。

另一个选择是在项目中添加一个链接 - 就像在资源目录中一样。将此设置为BuildAction = None,并将CopyToOutputDirectory设置为CopyIfNewer

答案 1 :(得分:1)

我想你是在使用Visual Studio。

简短的回答是只包括项目编译所需的程序集。

引用更多程序集不应该导致任何问题,因为您的应用程序将在运行时需要时加载程序集,但是有一长串引用可能会让人感到困惑和混乱。

您的参考列表应该告诉您程序的功能以及它使用的功能。

答案 2 :(得分:1)

您只需添加项目直接使用的引用。

对于私有程序集(不在GAC中的程序集),默认情况下,Visual Studio会将引用的程序集(及其依赖项)复制到项目的输出目录中。

对于GAC中的程序集,默认情况下,Visual Studio不会将引用的程序集复制到项目的输出目录中。

在这两种情况下,您都可以通过更改“复制本地”引用属性来更改行为。

恕我直言,这是构建环境的一个很好的功能。在非托管的世界中,您可以跟踪依赖项的依赖关系(通常通过构建前事件或后期构建事件)。