【问题标题】:How to copy some file to output directory through 2+ projects如何通过 2+ 个项目将一些文件复制到输出目录
【发布时间】:2015-07-14 16:50:19
【问题描述】:

我有 SomeDLL1,其中包含具有此属性的 SomeFile.txt

BuildAction:内容复制:如果从不复制

我有 SomeDLL2,它引用了 SomeDLL1。 我有引用 SomeDLL2 的 ConsoleApp。 在任何构建 ConsoleApp 之后,我需要重建 SomeDLL1 以将 SomeFile.txt 复制到 ConsoleApp 输出目录。这不舒服。 我可以在 ConsoleApp 中添加对 SomeDLL1 的引用来解决这个问题。但我不喜欢它。 是否有其他解决方案?

【问题讨论】:

    标签: visual-studio visual-studio-2013


    【解决方案1】:

    检查您的解决方案的属性 > 项目依赖项。

    您的ConsoleApp 应该依赖于SomeDLL1。这意味着将为每个 ConsoleApp 构建(自动)重新构建 SomeDLL1,并且所有引用都将就位。

    实际上,这就是您在正常创建项目并按照您的描述添加引用之后获得的项目依赖项。可能,您已手动取消选中此选项。然后检查它,因为它不是参考,而只是解决方案构建顺序工具。

    对于旧版本的 Visual Studio(2010 及更低版本),在所述情况下存在一些问题。见:How to include neccessary files to the output of independent client project?

    【讨论】:

    • 我不太了解你。当我在 ConsoleApp 中添加对 SomeDLL2 的引用时。对 SomeDLL1 的引用必须自动添加吗?谢谢你的网址。我不知道如何添加现有文件,如链接。很有趣,我们都来自俄罗斯,但是用英语说话:-)
    • 引用与项目依赖不同。您的项目ConsoleApp 依赖于SomeDLL1(通过SomeDLL2)但不要引用它。根据我的经验,在您指定引用之后,VS 总是能正确管理项目依赖关系。
    • 你说如果按照我的描述添加引用。我描述了两种类型的参考,你指的是哪一种? ConsoleApp 依赖于 SomeDLL2。 SomeDLL2 依赖于 SomeDLL1。如果我在 ConsoleApp 中添加对 SomeDLL2 的引用并在 SomeDLL2 中添加对 SomeDLL1 的引用,我将获得此依赖项。在这种情况下,文件将不会复制。如果我只是在 ConsoleApp 中添加对 SomeDLL1 的依赖而不添加引用,它将不会复制文件。
    猜你喜欢
    • 2020-08-31
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    相关资源
    最近更新 更多