1

我有一个需要重新命名的 WP7 应用程序。我正在使用 Visual Studio 2012。我的问题是如何以最自动化的方式管理品牌。
假设我为主要品牌开发了应用程序,我需要为次要品牌重新设计。二级品牌包括图像的变化和部分基本样式(基本样式被使用,因此被共享的其他样式和模板引用)。我宁愿让 XAP 只为自己的品牌提供图像。我还需要有可能将设计师与一个或另一个品牌一起使用。

我尝试为此目的使用 TFS 分支,它很令人满意,但是在每次合并时(主分支中的新功能或错误修复必须在辅助分支中合并),我需要注意不要覆盖图像和样式(如果更改),这是一个容易出错的过程,并导致未检测到的严重错误。

我正在考虑通过将所有不同的图像和样式移动到不同的“主题”类库中来将所有内容带回主分支并管理品牌,但是如何在参考之间轻松切换(我需要设计师,所以在设计时)?有没有办法为不同的解决方案配置提供不同的参考?

另一种选择可能是使用分支和 2 主题类库,在二级分支中,应用程序将引用二级主题类库。在纸上,这似乎是最好的选择,两个分支都将静态链接资源,他们将拥有他们的设计师品牌,合并不应影响“主题”库中的任何修改。在尝试之前,我想知道是否有人有更好的选择或预见到这方面的任何问题。

谢谢你。

4

1 回答 1

4

我有类似的项目,我可以分享我试图解决它的方式。

我有以下项目结构

  • AppName.Common - 这里定义了所有通用代码、视图和数据模板

  • AppName.Main - 这里是主项目的 App.xaml,具有特定样式和图像的资源

  • AppName.Branded - 这是用于品牌项目的 App.xaml,具有特定样式和图像的资源。同样在 App.xaml 中,我配置了 IoC 容器,因为 Branded 和 Main 项目的某些行为不同。

所有样式都在 Resourced 字典的 App.xaml 中定义。因此,在运行时应用程序可以解决它们。有时您需要重新打开解决方案,而 ReSharper 也不支持,它无法解析您的样式。

Blend for VS 可以支持这种结构。您只需选择当前项目作为启动项目。

希望它会帮助你。

不要忘记,如果您从其他程序集导航到 View,您需要更改 path

于 2013-03-07T08:21:31.330 回答