【问题标题】:How to compile cs files into separate dll如何将cs文件编译成单独的dll
【发布时间】:2012-02-19 09:19:58
【问题描述】:

我有一个用于不同目标的类库和 cs 文件。一种是扩展类,一种是windows窗体控件,一种是asp.net控件等

我想将所有这些cs文件编译成不同的dll。

PS:其中一些可能需要多个类文件。

【问题讨论】:

  • 顺便说一句,您被否决了,因为您要求做的事情肯定不是正常或最佳实践。您应该为每个要创建的程序集创建一个项目(正如下面的大多数答案所建议的那样)

标签: c# class class-library


【解决方案1】:

你可以试试命令行compilation。 (Working with the C# 2.0 Command Line Compiler)

csc /target:library /out:Something.xyz *.cs

【讨论】:

  • 我可以将此命令写入我想要的每个 dll 的构建前/构建后文本框。
  • -1 使用此命令,您可以将所有内容 (*.cs) 编译到一个程序集中。这不是 uzay95 对恕我直言的要求。
  • 阅读文章标题 - 如何将cs文件编译成单独的dll? csc 工具有许多选项,包括编译开关和选项。我不可能编写每一个命令语法。请注意,我帖子中的行是一个参考 - 如何使用 csc 工具。有关更多信息,请访问提供的链接。
  • 没关系。 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll" /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll /debug+ /debug:full /filealign:512 /optimize- /out:$(ProjectDir)bin\Debug\Extensions.dll /target:library /warnaserror- $(ProjectDir)Extensions.cs "$(ProjectDir)Properties\AssemblyInfo.cs"
【解决方案2】:

我知道这听起来太明显了,但是如果您想将它们编译成单独的 DLL,为什么不为每个程序集创建一个项目呢?所以这是一个扩展类的项目,一个用于 asp.net 控件等的项目......

【讨论】:

    【解决方案3】:

    您必须在解决方案中创建不同的项目(假设您在 Visual Studio 中工作)。

    每个项目可以有多个(类、资源、表单等)文件,并将被编译成不同的程序集(dll)。您可以为每个项目指定设置(程序集名称、目标框架等)。

    来自不同项目的类可以通过从一个项目到另一个项目的引用来“使用”彼此。此外,不同的项目可以指定相同的命名空间,以便您可以根据自己的意愿构建应用程序。

    Structuring Solutions And Projects

    【讨论】:

      【解决方案4】:

      单个类库项目中的所有 *.cs 都将编译为同一个 DLL,您不能将它们拆分为单独的 dll。如果你想为每个类创建一个单独的 dll,那么每个类都应该在一个单独的类库项目中。

      【讨论】:

        猜你喜欢
        • 2012-12-16
        • 2017-03-14
        • 2010-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-15
        相关资源
        最近更新 更多