ms 构建动态资源命名

ms build dynamic resource naming

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

中写道
<Target Name="BeforeBuild" >
    <ItemGroup>
        <EmbeddedResource Include="..\Bin$(Configuration)\*.*">
        </EmbeddedResource>
    </ItemGroup>
</Target>

但它始终将 <LogicalName> 设置为默认值。 我怎样才能做到这一点?

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

<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>