Msbuild VS2010自定义版本

Msbuild VS2010自定义版本,msbuild,Msbuild,我有一个C#/WPF应用程序。我正试图创建不同的版本,将其与他们的品牌不同的客户。 品牌目前位于AssemblyInfo.cs中,有一个图标、闪屏和exe名称 我想我可以创建单独的项目配置,然后我想我可以为每个客户创建单独的AssemblyInfo.cs文件 但是项目似乎只允许一个assemblyinfo,不允许在每个配置的基础上更改它(例如,它是项目属性对话框中的第一个选项卡) 将AssemblyInfo.cs信息放入资源中,然后拥有多个资源文件(每个客户一个)并具有链接到不同资源的单独配置,

我有一个C#/WPF应用程序。我正试图创建不同的版本,将其与他们的品牌不同的客户。 品牌目前位于AssemblyInfo.cs中,有一个图标、闪屏和exe名称

我想我可以创建单独的项目配置,然后我想我可以为每个客户创建单独的AssemblyInfo.cs文件

但是项目似乎只允许一个assemblyinfo,不允许在每个配置的基础上更改它(例如,它是项目属性对话框中的第一个选项卡)

将AssemblyInfo.cs信息放入资源中,然后拥有多个资源文件(每个客户一个)并具有链接到不同资源的单独配置,这是一种更好的方法吗

我当时希望,在我继续开发的过程中,我可以在本地品牌下开发,然后批量构建所有发布版本,为每个客户生成前男友


关于如何制作可维护解决方案的任何帮助或建议都将非常有用。

AssemblyInfo.cs文件虽然是类文件,但实际上没有任何类信息,默认情况下它只包含属性。可以在这些属性周围使用条件编译符号:

#if MY_SYMBOL
[assembly: AssemblyTitle("Tim's Magical Application")]
#else
[assembly: AssemblyTitle("Some Other Name")]
#endif
你也可以在那里用你自己的

但该项目似乎只允许一个assemblyinfo

此文件位于项目的“属性”文件夹中。您还可以在它旁边放置另一个.cs文件,其中包含另一个属性列表(即AssemblyInfo.custom.cs)。通过“项目属性”对话框更改的任何条目都会反映在原始AssemblyInfo.cs文件中,而自定义条目则保持不变


因此,如果您决定使用AssemblyInfo.cs中的属性来控制特定于客户的品牌,那么您有几种方法可以做到这一点。就我个人而言,我会松散地打包一个中性映像,并使用我的构建过程或安装程序构建在可分发包中包含适当的品牌映像(替换中性映像)

好极了。我计划在每个配置中使用一个#if符号来处理cs文件中的一些其他内容,但我没有想到在assemblyinfo.cs中使用#if。如果你能详细说明或者告诉我更多关于处理这张图片的信息,那就太好了。