ms构建动态资源命名

本文关键字:资源 动态 构建 ms | 更新日期: 2023-09-27 18:26:16

我想在编译时通过特殊命名将一些文件添加到嵌入式资源中。为此,我在.csproj 中写道

<Target Name="BeforeBuild" >
    <ItemGroup>
        <EmbeddedResource Include="..'Bin'$(Configuration)'*.*">
        </EmbeddedResource>
    </ItemGroup>
</Target>

但它总是将<LogicalName>设置为默认值。我该怎么做?

ms构建动态资源命名

我找到了解决方案。此重命名有效:

<Target Name="BeforeBuild">
    <ItemGroup>
      <Frameworks Include="..'Bin'$(Configuration)'Frameworks'*.*" />
      <Steps Include="..'Bin'$(Configuration)'Steps'*.*" />
    </ItemGroup>
    <ItemGroup>
      <EmbeddedResource Include="@(Frameworks)">
        <LogicalName>Frameworks.%(Filename)%(Extension)</LogicalName>
      </EmbeddedResource>
      <EmbeddedResource Include="@(Steps)">
        <LogicalName>Steps.%(Filename)%(Extension)</LogicalName>
      </EmbeddedResource>
    </ItemGroup>
    <Message Text="EmbeddedResource - @(EmbeddedResource)" />
  </Target>