我怎样才能只使用我的装配的一部分?

时间:2011-10-04 13:22:10

标签: c# .net visual-studio

我想分割我的应用程序的组件,如:

Application A -> Component X <- Application B

没有将组件X编译为dll。 当我包含.cs时,Visual Studio将其复制到应用程序目录。我不希望这样。我想要包含该文件,然后使用它的一部分,如C的#define。例如,如果我有一个ZIP库,如果我需要解压缩,我不想包括整个程序集。什么是C#方式来做到这一点?我可以告诉VS不要复制文件并使用#defines或者某些方法属性吗?

5 个答案:

答案 0 :(得分:3)

程序集是一个完整的文件。如果您需要仅根据需要包含的多个程序集,则需要使用多个项目(每个程序集一个)构建它们,并仅引用所需的下游项目中的项目。

然而,更大的问题是......为什么?

答案 1 :(得分:2)

如果没有问题,请不要创建问题。

创建一个新的dll,以及应该在那里共享的MOVE .cs文件。构建它,并拥有AppA和AppB参考并使用该DLL。

顺便说一下,您可以将AppA的引用添加到AppB,或者从AppB添加到AppA,但不能同时添加,因为它会创建循环引用。

如果您想坚持自己的想法,请按照Chris的建议链接您的代码文件,并使用:

#if APPA
// code for AppA
#endif

让代码片段只在一个应用程序中编译。使用项目级别#defines(项目属性)在各自的项目中定义APPA和APPB。

where to insert defines

答案 2 :(得分:1)

您可以链接到Visual Studio中的源文件,而不是将它们复制到项目中。右键单击要放置文件的文件夹,单击“添加现有项”,在对话框中找到要添加的文件,然后在单击“打开”之前,请注意“打开”按钮旁边的小向下箭头。单击该按钮,然后单击“添加为链接”。

此处的文档:http://msdn.microsoft.com/en-us/library/9f4t9t92(v=VS.100).aspx

答案 3 :(得分:1)

添加现有项目......

浏览到要包含的文件。

不要选择“添加”,而是按“添加”按钮右侧的箭头,然后在下拉列表中选择“链接”。

/ B

答案 4 :(得分:0)

您可能需要Multifile Assembly吗?