将嵌入式资源复制到输出目录

问题描述 投票:0回答:2

我有一组设置为BuildAction=embedded resourcesCopyToOutDirectory=CopyAlways的SQL脚本。

它似乎没有复制到bin目录。

我必须将它们作为EmbeddedResources,但不满足。有办法吗?

c# visual-studio-2010 embedded-resource
2个回答
0
投票

EmbeddedResources,正如其名称所暗示的那样,已“嵌入”在程序集中,因此不再将它们复制到输出目录中。

如果您“双向需要”,则可以使用如下所示的构建后任务:

xcopy $(ProjectDir)\MyFile.ext $(TargetDir)\

但是如果您添加/删除需要复制的文件,则需要维护此脚本。还请记住,如果在输出目录中更改该文件,则不会更改程序中使用的嵌入式资源。


0
投票

您可以使用“ Link”元数据设置目标文件夹

例如:使用此文件将a.dll复制到“ bin”文件夹中

    <EmbeddedResource Include="Resources\a.dll" Link="..\bin\a.dll">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </EmbeddedResource>

有关更多参考信息,请访问https://github.com/Microsoft/msbuild/issues/2795

© www.soinside.com 2019 - 2024. All rights reserved.