使用命令行构建参数更改资源文件

时间:2017-12-18 17:22:51

标签: c# .net

我有一个需要在两个独立品牌下发布的应用程序。要做到这一点,我需要在整个应用程序中有一些不同的图像和字符串,例如在about对话框中。

我最初的想法是在我的资源目录下有单独的文件夹,每个品牌都有相同的文件,包括一个带有字符串常量的resx文件。然后我将使用一个参数来更改我的csproj文件中的一个属性,该属性将改变资源文件的路径。

这会有用吗?有没有更好的方法来解决这个问题?

我的想法示例:

项目文件:

<PropertyGroup>
   <BRAND>DefaultBrand</BRAND>
</PropertyGroup>

<EmbeddedResource Include="Resources\$(BRAND)\branding.resx" />
<Compile Include="Resources\$(BRAND)\branding.Designer.cs" />

<ItemGroup>
  <None Include="Resources\DefaultBrand\BG.png" />
  <None Include="Resources\OtherBrand\BG.png" />
</ItemGroup

的Program.cs:

ResourceManager rm = new ResourceManager("branding", Assembly.GetExecutingAssembly());
String companyName = rm.GetString("COMPANY_NAME");

构建命令:

MSBuild MSBuild.xml /t:Compile
MSBuild MSBuild.xml /t:Compile /p:BRAND=OtherBrand

0 个答案:

没有答案