【问题标题】:I am unable to build a dll file using the command line without main method我无法在没有 main 方法的情况下使用命令行构建 dll 文件
【发布时间】:2018-07-15 21:05:25
【问题描述】:

我的目标是从命令行构建一个 dll,因为我没有安装 Visual Studio。

到目前为止,我已经创建了一个名为AuthenticatedProxy.cs 的类文件并进入命令行并运行以下命令:

C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe C:\AuthenticatedProxy.cs

输出是错误提示:'AuthenticatedProxy.exe' does not contain a static 'Main' method suitable for an entry point.(注意我的类文件没有main方法)

如何将类文件编译成 dll?我有正确的命令吗?

【问题讨论】:

  • 作为一个初学者,你应该得到一个像 VS 这样的 IDE 来为你做这件事。当您足够好时,您可以切换到构建机器的命令行版本。不要重新发明轮子
  • @Steve 不幸的是,由于遇到的障碍,我无法获得 IDE。

标签: c# .net build compiler-errors csc


【解决方案1】:

要告诉编译器构建 DLL 而不是 EXE,请传递 -target:library

Documentation

【讨论】:

    【解决方案2】:

    使用命令行是每个开发人员的好习惯。

    您可以使用 -target 标志:

    C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe -target:library C:\AuthenticatedProxy.cs
    

    【讨论】:

      【解决方案3】:

      每个 PE(可移植可执行文件)都必须具有初始化 exe 的入口点。

      对于网络平台,将以下代码放在您的主类中

      [STAThread]
              private static void Main()
              {
                  Application.EnableVisualStyles();
                  Application.SetCompatibleTextRenderingDefault(false);
                  Application.Run(new Form1());
              }
      

      然后使用

      >csc.exe /t:exe AuthenticatedProxy.cs or 
      >csc.exe /t:winexe AuthenticatedProxy.cs
      

      对于没有启动器的库不需要入口点,只在下面使用 命令

      > csc.exe /t:library AuthenticatedProxy.cs
      

      构建模块

      >csc.exe /t:module AuthenticatedProxy.cs
      

      【讨论】:

        猜你喜欢
        • 2011-04-18
        • 2012-01-26
        • 2018-04-18
        • 2015-01-08
        • 2012-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-17
        相关资源
        最近更新 更多