【问题标题】:Recursive Copy-Local递归复制本地
【发布时间】:2015-03-18 16:03:07
【问题描述】:

还有一个关于 msbuild 中的本地复制的问题。

我遇到的问题是复制的程序集太多。

我有以下结构:

  • A.dll
    • B.dll
      • ThirdParty1.dll
      • ThirdParty2.dll

现在两个第三方库被 B.dll 引用,本地副本设置为 false。无论如何,它们都将出现在目标环境中。 B.dll 是 A.dll 的依赖项,本地副本设置为 true。我在部署 A.dll 的地方都需要 B.dll。

现在的问题是两个第三方程序集也被复制了。我不希望这样,我不明白为什么会这样。

有一点可能很重要:生成 A 和 B 的项目在不同的解决方案中。

任何人知道发生了什么并提示如何解决它?

【问题讨论】:

  • 嗯,这没有多大意义。从 B 的 bin\Debug 目录中删除这些 DLL。重建 B 并确保它们不会回来。
  • 这可能是另一个重要信息。没有“调试”目录。当我在另一个应用程序中将这些 DLL 开发为插件时,它们会直接编译到应用程序使用它们的目录中。此目录中已存在一些必需的第三方 DLL。但是还有一些来自其他目录的其他第三方 DLL,这些 DLL 被复制(这是我不希望发生的部分)到目标目录中。

标签: .net dll msbuild


【解决方案1】:

尝试设置

<PropertyGroup> 
  <UseCommonOutputDirectory>true</UseCommonOutputDirectory>
</PropertyGroup>

在 B 项目中。这会阻止 MsBulid 处理对 OutputPath 的引用。

【讨论】:

    猜你喜欢
    • 2010-11-02
    • 2022-01-09
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    • 2015-08-19
    • 2013-10-19
    • 2011-05-27
    • 1970-01-01
    相关资源
    最近更新 更多