【问题标题】:How to force generating a dll on build如何在构建时强制生成 dll
【发布时间】:2017-01-16 13:03:47
【问题描述】:

我有一个 wpf 应用程序,如何在构建时强制创建相应的 .dll?

示例: 项目名称为“MyWPFproject”

build 时,它将在 bin\Debug 中创建“MyWPFproject.dll”

如何做到这一点?

由于许多类似的答案而编辑:我知道如何添加/引用“外部”库/dll 文件。我完全清楚这一点。请重新阅读问题,我希望 BUILD-Process 创建一个 .dll 除了 bin/Debug 中的 .exe

【问题讨论】:

  • 您是否从解决方案中添加了对类库项目的引用?如果是这样,它应该自动将其复制到 bin\Debug 或 bin\Release
  • @ganeshran:如果类库一开始没有生成,我怎么能引用它? -mm8:是的,这是真的。现在我希望解决方案也创建项目的 .dll
  • 您是否真的有一个类库,即您从 WPF 应用程序项目中引用的另一个项目? Othwerwise 没有要构建的 .dll。可执行应用程序本身构建为 .exe。
  • 澄清一下,您有一个 WPF 应用程序,它引用了由同一解决方案中的另一个类库项目构建的 DLL?如果这是正确的,那么您可以添加对项目的引用(而不是 dll 文件本身)。这将显示在“添加引用”对话框的解决方案部分中。
  • 这是添加参考对话框的解决方案菜单。 i.imgur.com/eBDA94w.png您的类库需要与您的 WPF 应用程序在同一个解决方案中。

标签: c# wpf dll visual-studio-2015 solution


【解决方案1】:

实际上没有必要将 .exe 转换为 .dll,因为 .exe 可以作为程序集引用正常工作:

Converting .exe project to class library

如果您出于某种原因仍想创建 .exe 的副本,您可以在项目的构建后事件中执行此操作(Visual Studio 中的 Project->Properties->Build-Events):

xcopy /y /f "$(TargetPath)" "$(TargetDir)$(ProjectName).dll"

请注意,您可能必须以管理员身份运行 Visual Studo 才能正常工作。打开时右键单击并选择“以管理员身份运行”。

【讨论】:

    【解决方案2】:

    存在并且不依赖于构建后的场合。

    将记录添加到您的项目中,然后在文档属性中选择“复制到输出目录”下的“始终复制”或“如果较新则复制”。

    【讨论】:

      【解决方案3】:

      目前,我正在使用以下解决方法: 我也将自身的 .dll 文件添加到 lib 目录中,而不是尝试强制项目/解决方案将其构建到 bin/debug 中并相应地更改目录。不过,我仍然对这个解决方案不太满意..

      【讨论】:

      • 检查这个问题 - stackoverflow.com/questions/6866554/… 这会根据配置更改项目的输出类型。可以从 msbuild 更改此配置
      • 您可以使用我在回答中建议的构建后事件命令。
      猜你喜欢
      • 1970-01-01
      • 2021-06-20
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多