【问题标题】:Can I build 2 or more dlls from C# project in Visual Studio 2008?我可以在 Visual Studio 2008 中从 C# 项目构建 2 个或更多 dll 吗?
【发布时间】:2009-04-27 03:04:15
【问题描述】:

因为我正在使用 Silverlight 和 C# 创建 RIA 框架。所以我需要使用Silverlight的丰富功能,比如动态加载。但是我发现Visual Studio会将所有类库(相同命名空间或不同命名空间)合并到一个dll中。

你有什么想法从 C# 项目构建 2 个或更多 dll 吗?我只是为 1 个子页面创建 1 个项目。因此,如果我的解决方案中有 100 个子页面,我将为这个没有意义的解决方案创建 100 多个项目。

谢谢

【问题讨论】:

    标签: c# .net visual-studio dll build-process


    【解决方案1】:

    只需在您的解决方案中创建其他项目即可获得不同的程序集 (dll)。

    【讨论】:

    • 当我在 1 个解决方案中有 100 个或更多项目时,我认为这是一个非常复杂的解决方案。此外,它需要非常大的空间来保持相同的共享 dll。
    • 如果您不需要同时编辑所有 100 多个程序集,您可以只引用其中的一些程序集,而不是将它们包含为项目。
    • 我不明白你的问题,你有多个项目吗?如果你这样做了,你应该已经获得了多个 DLL。
    【解决方案2】:

    您不能从一个项目中生成多个 dll。而且创建数百个项目是不切实际的——每个班级一个。

    那么为什么不只创建一个 dll 并动态加载它呢?

    【讨论】:

    • 因为我需要加载一个小 dll(每个子页面
    • 我唯一能想到的就是使用“mygeneration”或“codesmith”之类的东西,它会为项目中的每个文件生成一个新项目——每个文件只包含一个文件/类。要进行发布构建,您需要一个单独的解决方案文件,其中包含所有小型项目,而出于开发目的,您可以将解决方案与单个项目一起使用。话虽如此,只加载一个大 dll 确实不应该有问题。如果每个应用程序域只加载一次,开销将是最小的。
    【解决方案3】:

    一个VS工程可以编译一个二进制文件。可能没有办法解决这个问题。

    解决方案中有很多项目有什么问题?这还不错。

    • 版本少了些混乱
    • 当其他人在处理另一个 dll 时,您可以处理一个 dll
    • 您可以停用不想使用的项目
    • 编译更快,因为没有修改的项目不需要重新编译

    我在工作中有一个这样的案例(解决方案中有很多项目)。你会习惯的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      相关资源
      最近更新 更多