如何在C#中删除未使用的方法?

时间:2015-04-09 21:49:02

标签: c# .net dll

例如,我有两个共享某些功能的项目,让他们说A和B.所以我创建了另一个包含公共代码的库项目C. 我将公共代码放在一个类中,但在类中,并非所有方法都在两个项目中使用。 其中一些仅用于A,一些仅用于B,其余用于两者。

现在,在编译之后,我得到了A.exe,B.exe和C.dll。我想要的是:

  1. 我不想要dll,只想要A.exe和B.exe

  2. 我不希望只在A.exe中使用的方法出现在B.exe中,反之亦然。

  3. 合并dll和exe可以解决问题1,但是2?

    怎么样?

1 个答案:

答案 0 :(得分:1)

您所描述的是静态库,而不是DLL。

如果C是一个静态库,那么当你编译A(编译器设置为删除未使用的东西)时,A的exe将从静态库C获取A所需的所有代码并直接放入可执行程序。 B也是如此。

但那并不是DLL的工作方式。

使用DLL,A正在获得"服务"来自C的一些代码,但由于代码存在于C中,因此A无法控制C中的代码。

正如@RobertMoskal指出的那样,有些答案可以满足您的需求。我只想澄清你的意图与Dlls的设计背道而驰,尽管可以使用其他地方提到的工具来完成。