【问题标题】:How to build a single .cs file inside the project and get the DLL for that file?如何在项目中构建单个 .cs 文件并获取该文件的 DLL?
【发布时间】:2016-04-24 01:54:38
【问题描述】:

是否可以在大项目中获取单个 .CS 文件的 DLL 文件?

例如:我在 VS2012 中有一个名为“Operations”的项目,其中有许多窗口窗体和 .CS 文件。

我需要为 .CS 文件获取一个 DLL 文件(我已更改)...我知道我们可以构建整个项目并获取 DLL 文件,但是如何获取一个特定 .CS 的 DLL 文件该项目中的文件?

谢谢

【问题讨论】:

  • 每个项目都有一个 DLL,而不是文件。我想您可以运行命令行编译器 (cs.exe) 并编译单个文件,但这会给您带来什么好处?
  • 单个 .cs 文件不会生成自己的 DLL。你确定你在谈论一个项目而不是一个解决方案吗?如果它是一个项目,您可以将所有其他文件设置为不构建我想...
  • 我创建了一个自定义 control.cs 文件..它没有显示在工具箱中...所以我为此创建了 DLL 文件并将其添加到工具箱中....是有什么更好的办法吗?
  • @DanField... .cs 文件位于解决方案的项目中...
  • 项目中的所有 .cs 文件都被编译成一个 .dll。如果您想要单个 .cs 的 .dll,则将该 .cs 移到其自己的项目中。

标签: c# .net visual-studio visual-studio-2012


【解决方案1】:

DLL 是库项目的输出,而不是 cs 文件的输出。

如果你想有一个特定类的 dll, - 使用特定的 .cs 创建一个新项目 - 在一个新的 dll 文件中编译它 - 在主项目中添加对新 dll 文件的引用

【讨论】:

    【解决方案2】:

    我认为最简单的方法是将文件移动到它自己的项目中,并在需要访问该类时引用该项目。

    【讨论】:

      【解决方案3】:

      只要您不依赖项目中的其他文件,这是可能的。

      你可以看到不同的选项How to: Build a Single-File Assembly

      简而言之,要创建单个文件 dll,您可以使用这些命令行之一

      :: will create File.dll
      csc File.cs -t:library
      :: will create FileOther.dll
      csc File.cs -t:library -out:FileOther.dll
      
      

      其中一个用于创建单个文件 exe(文件必须在某处具有静态 main 作为入口点)

      :: will create File.exe
      csc File.cs 
      :: will create FileOther.exe
      csc -out:FileOther.exe File.cs
      
      

      要从多个文件创建 dll 或 exe,您可以在命令行上指定多个文件:请注意,如果执行 exe,则:只有一个应该有静态主文件;或者您还需要使用 /main 开关

      :: will create File.dll
      csc File.cs File2.cs -t:library
      
      :: will create File2.dll
      csc File2.cs File.cs -t:library
      
      :: will create File.exe
      csc File.cs File2.cs
      :: will create FileOther.exe
      csc -out:FileOther.exe File.cs File2.cs
      
      :: will create FileOther.exe using the entry point from NAMESPACE_WITH_MAIN_TO_USE
      csc -out:FileOther.exe File.cs File2.cs /main:NAMESPACE_WITH_MAIN_TO_USE
      
      :: will create alldirectory.exe
      csc -out:alldirectory.exe *.cs
      

      更多关于命令行编译器的一般用法可以在Command-line build with csc.exe找到

      【讨论】:

        猜你喜欢
        • 2011-06-13
        • 1970-01-01
        • 2010-09-14
        • 2012-12-16
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        • 2013-12-28
        • 2012-06-15
        相关资源
        最近更新 更多