【问题标题】:How to prevent binary file folder also being copied to output dir?如何防止二进制文件夹也被复制到输出目录?
【发布时间】:2015-06-17 08:26:56
【问题描述】:

我有一些来自第三方的类库程序集。为了帮助组织,我在我的解决方案中添加了一个专门针对这些二进制文件的新项目。我不只是添加一个解决方案文件夹,因为我不喜欢那里没有物理文件夹。我也喜欢在他们自己的项目中包含这些,这样如果我可以为原始二进制文件添加助手,我就知道它们在哪里。

我的项目如下所示: BinaryProj.csproj --Lib(文件夹) ----ab1.all ----bc3.dll ----cd4.dll

上面所有的dll都标有“复制到输出目录”,但是当我编译这个项目时,这些dll是在bin/Lib/....dll下找到的,而不是'bin/....dll. How can I get rid of the damnedLib`?

【问题讨论】:

  • 您在寻找this
  • 您也可以将它们生成在bin/Lib/....dll 中,并添加一个构建后事件,将文件复制到bin/....dll
  • 更改项目属性中的输出路径

标签: c# asp.net


【解决方案1】:

更改构建输出目录:

  1. 列表项
  2. 在菜单栏上,选择项目、应用程序名称属性。 选择“构建”选项卡。
  3. 选择输出路径框旁边的浏览按钮并指定一个新的构建输出目录。

【讨论】:

    【解决方案2】:

    你不应该这样做。当然,您可能希望将第三方二进制文件添加到 Visual Studio(类库?)项目以进行概述和简化管理,但您不应将它们复制到该库项目的输出目录。项目不需要,引用项目也不需要全部。

    只需将文件存储在您想要的任何位置,最好不要将它们放入项目中,然后引用来自需要它们的项目的二进制文件。然后将文件复制到需要它们的项目的bin目录:

    * Solution directory
    |
    +- ThirdParty
    |  |
    |  +- SomeAssembly.dll
    |
    +- Project1
    

    这里 Project1 将引用 ..\ThirdParty\SomeAssembly.dll 并将其复制到它自己的 bin 目录中。

    如果您确定自己的方式是您想要的方式,请参阅Copy to Output Directory copies folder structure but only want to copy files 以控制文件复制到的位置。

    【讨论】:

    • 是的,我想我可以创建一个项目纯粹是为了获得一个从属于解决方案的文件夹,然后将依赖项直接放在该文件夹中并简单地引用它们。除了需要它们的位置之外,它们永远不会将输出输出到任何 bin 文件夹。
    猜你喜欢
    • 2020-04-06
    • 1970-01-01
    • 2021-09-16
    • 2010-11-04
    • 1970-01-01
    • 2016-11-05
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多