【问题标题】:Visual studio - Add link reference creating a sub folder [duplicate]Visual Studio - 添加链接引用创建子文件夹[重复]
【发布时间】:2012-01-18 10:32:38
【问题描述】:

可能重复:
Copy to Output Directory copies folder structure but only want to copy files

在我的项目中,我创建了一个文件夹来托管 com dll。 当它们不在我的项目和解决方案的某个目录中时,我添加了对它们的链接引用。 我已将他们的 CopyToDirectory 属性更新为“始终复制”。

文件在每次构建时都会成功复制,但它们位于子文件夹中。 例如对于 csproj 中的这个命令:

com\libeay32.dll 总是

我的调试文件夹中有一个名为 com 的子目录,其中包含 dll。我不想要子目录。我不能使用任何 post 或 pre build 命令(我在云上托管我的文件,这些命令没有得到处理)

【问题讨论】:

    标签: visual-studio copy


    【解决方案1】:

    我无法使用任何后期或预构建命令(我将文件托管在云上,这些命令未得到处理)

    注意:关于您的问题,我假设构建过程是“在云中”执行的,并且构建前/构建后事件不会被触发或被阻止 (如果这不是这样,请纠正我,我会尝试相应地更新我的答案)

    如何利用 AfterBuild 目标和 .csproj 文件中的 Copy 任务?

    <Target Name="AfterBuild">
      <ItemGroup>
        <NativeBinaries Include="$(MSBuildProjectDirectory)\com\*.dll" />
      </ItemGroup>
      <Copy SourceFiles="@(NativeBinaries)" DestinationFiles="@(NativeBinaries->'$(OutputPath)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
    </Target>
    

    【讨论】:

    • 太棒了,这就像一个魅力。谢谢
    • 虽然我不确定,构建过程扩展和 post\pre build 事件有什么区别?
    • 这可能是一个 SO 问题的好话题 :)
    • 顺便说一句,我真的不明白为什么您的构建前/构建后事件不起作用。你检查过this吗?如果您能够“调试”构建过程,那可能会给您一些提示。
    猜你喜欢
    • 2016-09-30
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多