【问题标题】:How can I configure visual studio to produce a c# executable with a .dll extension如何配置 Visual Studio 以生成带有 .dll 扩展名的 c# 可执行文件
【发布时间】:2011-01-18 11:45:25
【问题描述】:

我的解决方案中有两个项目,第二个项目生成一个“Windows 应用程序”类型的可执行文件,并定义了一个启动对象。我不希望该项目生成的 exe 文件与名为“whatever.exe”的应用程序位于同一目录中,我想将其重命名为“whatever.dll”,因为用户不打算手动运行此应用程序(在第一个进程中,我以这个文件为目标调用 Process.Start() - 只要 PE 头将其标识为可执行文件,windows 就可以执行它就好了)。

我可以简单地将第二个项目的输出手动重命名为 .dll,甚至在构建后步骤中将其自动化,但是有没有办法创建一个“类库”类型的项目并为其定义一个启动对象?

【问题讨论】:

  • OOI 为什么不创建一个库项目并简单地从您的主 exe 项目中引用这个库?这将是使用库的标准方式。
  • 因为如果我只是将它创建为一个库项目,它不会被标记为可执行二进制文件,并且对其调用 Process.Start() 将失败。
  • 如果您将其作为库引用,那么您可以直接从您的 exe 项目中调用任何公共方法。除非您需要它提供的某些特定行为,否则您无需将其作为单独的进程启动。
  • 我知道,我的问题不在于调用公共方法。使用 Process.Start("whatever.exe") 或 Process.Start("Whatever.dll") 作为单独的进程运行它 - 如果我将我的“Whatever”项目编译为“Windows 应用程序”,这两种方法都有效,如果我将其编译为“类库”,这些都不起作用。

标签: .net dll executable


【解决方案1】:

Visual Studio 不能专门配置为为 exe 项目提供“exe”以外的扩展名(您已经提到了构建后步骤,但这不是直接的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多