C# 如何仅使用部件的一部分?
我希望拆分应用程序的组件,如:C# 如何仅使用部件的一部分?,c#,.net,visual-studio,C#,.net,Visual Studio,我希望拆分应用程序的组件,如: Application A -> Component X <- Application B 无需将组件X编译为dll。 当我包含.cs时,VisualStudio会将其复制到应用程序目录。我不想那样。我想包括这个文件,然后使用它的一部分,比如C的define。例如,如果我有一个ZIP库,如果需要解压缩,我不想包含整个程序集。用什么方法做这个?我是否可以告诉VS不要复制文件并使用定义或某些方法属性?程序集是一个完整的文件。如果需要仅根据需要包含的多个程
Application A -> Component X <- Application B
无需将组件X编译为dll。
当我包含.cs时,VisualStudio会将其复制到应用程序目录。我不想那样。我想包括这个文件,然后使用它的一部分,比如C的define。例如,如果我有一个ZIP库,如果需要解压缩,我不想包含整个程序集。用什么方法做这个?我是否可以告诉VS不要复制文件并使用定义或某些方法属性?程序集是一个完整的文件。如果需要仅根据需要包含的多个程序集,则需要使用多个项目构建它们,每个程序集一个,并且只引用所需下游项目中的程序集
然而,更大的问题是。。。为什么?您可以在Visual Studio中链接到源文件,而不是将它们复制到项目中。右键单击要放置文件的文件夹,单击“添加现有项”,在对话框中找到要添加的文件,在单击“打开”之前,请注意“打开”按钮旁边的小向下箭头。单击该链接,然后单击“添加为链接” 此处的文档:添加现有项目 浏览到要包含的文件 按“添加”按钮右侧的箭头并在下拉列表中选择“链接”,而不是选择“添加”
/不要在没有问题的地方制造问题 创建一个新的dll,并移动应在其中共享的.cs文件。构建它,让AppA和AppB引用并使用该dll 顺便说一句,您可以将引用从AppA添加到AppB,或从AppB添加到AppA,但不能同时添加,因为它将创建循环引用 如果您想坚持您的想法,请按照Chris的建议链接您的代码文件,并使用:
#if APPA
// code for AppA
#endif
只在一个应用程序中编译代码片段。使用“项目级别定义项目属性”在各自的项目中定义APPA和APPB
您需要什么?非常不清楚。Visual Studio不会复制.cs文件,并且在C中定义不会执行您想要的操作。你是说包括吗?这与将同一个.cs文件添加到多个项目没有什么不同。在许多情况下,这会导致问题,例如序列化。只是说,@blez用它做什么是他的事:-一句话:程序集是一个完整的文件-这不是真的,你可以构建多文件程序集严格来说,程序集是一个完整的文件。但是,我同意,我说的每个大会一次是不正确的。谢谢,我其实不知道。但是-也就是说-我不知道,如果你的项目足够复杂,你需要把它分解成多个程序集,那么这就清楚地表明项目本身需要一些重组。