5

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

最佳做法是什么?

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

我正在使用 Visual Studio。

有人可以给我一些有关如何正确执行此操作的见解。

谢谢。

4

3 回答 3

2

这只是意见。无论哪种方式都会奏效。

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

另一种选择是在您的项目中放置指向它们的链接 - 就像在资源目录中一样。将此设置为 BuildAction=None 和 CopyToOutputDirectory=CopyIfNewer

于 2008-11-06T10:27:09.630 回答
1

我想你在 Visual Studio 中工作。

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

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

您的参考列表应该说明您的程序做了什么以及它使用了哪些功能。

于 2008-11-06T10:28:03.387 回答
1

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

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

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

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

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

于 2009-03-08T04:58:48.723 回答