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

本文关键字:输出 复制 资源 | 更新日期: 2023-09-27 18:14:09

我有一组sql脚本设置为BuildAction=embedded resourcesCopyToOutDirectory=CopyAlways

似乎没有复制到bin目录

我必须把它们当作EmbeddedResources而不是content。
有办法吗?

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

EmbeddedResources,顾名思义,是"嵌入"在程序集中的,所以它们不再被复制到输出目录。

如果你"两种方式"都需要,你可以使用如下的构建后任务:

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

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

你可以使用"Link"元数据来设置你的目标文件夹

示例:使用此命令复制.dll到"bin"文件夹

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

更多参考请访问:https://github.com/Microsoft/msbuild/issues/2795