Msbuild 如何在.Net标准项目中使用目标标记内部包含EmbeddedResource?
我想将动态生成的resx文件添加到我的.Net标准项目中。如果在目标中使用嵌入的资源标记,下面的脚本将不起作用Msbuild 如何在.Net标准项目中使用目标标记内部包含EmbeddedResource?,msbuild,.net-standard-2.1,Msbuild,.net Standard 2.1,我想将动态生成的resx文件添加到我的.Net标准项目中。如果在目标中使用嵌入的资源标记,下面的脚本将不起作用 <Project Sdk="Microsoft.NET.Sdk"> <ItemGroup> <ResxFileToInclude Include="D:\WS\Latest\Build\x64\Release\AFS.resx"/> </ItemGroup>
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ResxFileToInclude Include="D:\WS\Latest\Build\x64\Release\AFS.resx"/>
</ItemGroup>
<Target Name="ResxInclude" AfterTargets="Compile">
<ItemGroup>
<EmbeddedResource Include="@(ResxFileToInclude -> '%(RelativeDir)%(Filename).resx')" Type="Resx" WithCulture="true">
<LogicalName>"$([MSBuild]::ValueOrDefault('%(ResxFileToInclude.RelativeDir)', '').Replace('\', '.')).%(ResxFileToInclude.Filename).resx"</LogicalName>
</EmbeddedResource>
</ItemGroup>
</Target>
</Project>
$([MSBuild]::ValueOrDefault('%(ResxFileToInclude.RelativeDir)','')。替换('\','.')。%(ResxFileToInclude.Filename)。resx
如果我不在目标内部使用它,它就可以工作
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ResxFileToInclude Include="D:\WS\Latest\Build\x64\Release\AFS.resx"/>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="@(ResxFileToInclude -> '%(RelativeDir)%(Filename).resx')" Type="Resx" WithCulture="true">
<LogicalName>"$([MSBuild]::ValueOrDefault('%(ResxFileToInclude.RelativeDir)', '').Replace('\', '.')).%(ResxFileToInclude.Filename).resx"</LogicalName>
</EmbeddedResource>
</ItemGroup>
</Project>
$([MSBuild]::ValueOrDefault('%(ResxFileToInclude.RelativeDir)','')。替换('\','.')。%(ResxFileToInclude.Filename)。resx
顺便说一句,我已经检查了链接中的解决方案:
有人能帮我吗