【问题标题】:DLL automatically added in build outputDLL 自动添加到构建输出中
【发布时间】:2021-02-28 10:16:15
【问题描述】:

我有一个带有 Winform 项目(项目 A)和一个库项目(项目 B)的 c# 解决方案。

我的项目 B 有组件 DLL 引用(本地复制设置为 FALSE)

当我只构建我的项目 B => 0 DLL 在输出中

当我构建我的项目 A 时(项目 A 和 B 之间的项目引用)=> 我在构建输出中有所有组件 DLL 在 B 中引用,而不是在 A 中。

如果我在 A 中有引用并将复制区域设置为 false,则它不会被复制。

我必须在项目 A 中引用我项目 B 的所有 DLL 吗?

【问题讨论】:

    标签: c#


    【解决方案1】:

    如果您正在构建库。它应该构建到其项目文件夹而不是表单应用程序的项目文件夹。您不必将所有库链接到“主项目”,但如果您没有在解决方案的构建配置中明确设置,VS 将决定是否需要构建该库。

    【讨论】:

    • 我的项目有一个引用(项目引用)到我的项目B,这个引用设置为复制本地TRUE,否则我在VS中执行时出错。当 VS 我的解决方案时,我的项目 B 中只有 projectb.dll 输出,但在项目 A 输出中,我有: - ProjectB.dll => 好的 - PorjectA.exe => 好的 - projectB 中引用的一些 DLL => 我没有'不想要
    【解决方案2】:

    DLL 引用的解决方案:添加到 greg-e 的答案;如果您想将 DLL 添加到“主项目”中,请构建 将项目复制到其原始项目(如他所说),然后从构建位置引用它?如果您引用并使用函数,它将显示在“主”构建中,然后它将出现在“主”构建中。

    大量参考的解决方案:如果您正在使用其他参考来制作您的库 DLL/API,它变得依赖于该文件才能使其发挥作用。它们将包含在项目 B 输出中,因此 B.DLL 可以运行。简单地说,如果您打算仅将其与 A.exe 和 B.DLL 一起使用,则需要将其他 DLL 文件复制到另一个位置并从那里调用它们。否则你将不得不忍受它。

    如果我错了,请回复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 2016-01-17
      • 2016-03-07
      • 1970-01-01
      相关资源
      最近更新 更多