Visual Studio根据配置选择性地为语言资源文件构建卫星dll

时间:2016-04-28 13:25:32

标签: c# visual-studio visual-studio-2013 internationalization

得到了一个有趣的小问题,我似乎无法在这里找到答案。

我在Visual Studio 2013中的项目包含许多语言资源文件Resources.en-GB.resx等,可以使用它们的不同语言。它们在bin \ debug \ en-GB \ Projecty.Wojecty中编译为dll。 .resources.dll等。

我也有不同的构建配置,可以在不同的国家/地区更改一些内容。

我的问题是我如何只为某些构建配置构建某些语言资源dll。例如,在俄罗斯部署我只想要俄语和英语dll。在德国部署我只想要德语和英语

1 个答案:

答案 0 :(得分:0)

感谢Jenszcz的回答和Alexey Scherbaks的评论,我发现了一个全新的msbuild条件语句世界。编辑了csproj文件,为所有EmbeddedResources添加条件

<ItemGroup>
    <EmbeddedResource Include="Localisation\Resources.en-GB.resx" />
    <EmbeddedResource Condition=" '$(Configuration)' == 'Debug' OR '$(Configuration)' == 'Germany' " Include="Localisation\Resources.de-DE.resx" />
    <EmbeddedResource Condition=" '$(Configuration)' == 'Debug' OR '$(Configuration)' == 'Russia' " Include="Localisation\Resources.ru-RU.resx" />
</ItemGroup>