创建包含许多名称空间的dll

时间:2013-01-24 04:40:37

标签: c# visual-studio-2010 dll

假设我有一堆命名空间:

SuperNamespace.namespace1
SuperNamespace.namespace2
SuperNamespace.namespace3
SuperNamespace.namespace4
...
SuperNamespace.namespaceN

每个命名空间都有自己的项目,每个项目都创建自己的dll文件:

SuperNamespace.namespace1.dll
SuperNamespace.namespace2.dll
SuperNamespace.namespace3.dll
SuperNamespace.namespace4.dll
...
SuperNamespace.namespaceN.dll

我喜欢这种设计,因为它允许开发人员只使用他们需要的代码。有时候有一堆dll可能有点麻烦和烦人。我想创建一个包含所有命名空间的SuperNamespace.dll。这样,开发人员可以选择使用他/她需要的东西,或者只使用大dll文件,即包含所有库的SuperNamespace.dll:

SuperNamespace.namespace1
SuperNamespace.namespace2
SuperNamespace.namespace3
SuperNamespace.namespace4
...
SuperNamespace.namespaceN

有没有办法在C#Visual Studio 2010解决方案中执行此操作?

1 个答案:

答案 0 :(得分:2)

我只想创建一个包含所有源的大型项目,除非有其他原因要保留单独的程序集。

在后面的案例中,我仍然会创建一个项目,除了小项目之外还包括所有项目,然后再按照Mith Wheat的建议行进ILMerge路线。您可以使用File->源项目中的新项目轻松地从大量文件创建新项目(可能需要更高版本的Visual Studio,而不是Express项目。)

在一个程序集(DLL)中可以使用多少个C#名称空间没有限制。您可以在.Net框架本身找到许多示例 - 即许多System。*命名空间来自同一个程序集。

对面也是如此 - 相同的命名空间可以来自多个程序集。

请注意,在编译的代码中没有“namespace”这样的东西 - 它成为class / struct / enum name的一部分。