我正在开发一个 ASP.NET MVC3 网站,作为一个平台,它本身就可以很好地工作——但它是为第 3 方打造品牌/品牌的。
对于第 3 方,重要的是我将品牌相关的资产和代码隔离在源代码控制中,这样它们就不会干扰其他品牌的资产或主平台代码的资产。同样重要的是,我需要进行单元测试来证明网站的品牌版本正在返回适当的品牌视图等。
从表面上看,我似乎需要一个 Visual Studio 解决方案文件来包含 ASP.NET MVC 主站点平台的项目。然后,我需要为每个品牌提供一个单独的 VS 解决方案(包含附属程序集、自定义视图等)。每个品牌的 VS 解决方案将包含一个测试品牌结果的单元测试项目。
但是,我不希望品牌的 VS 解决方案文件包含对主平台站点项目的引用(VS 项目文件应该完全属于一个 VS 解决方案!)。这意味着品牌 ASP.NET MVC 项目文件必须对主要 VS 解决方案的构建输出具有二进制依赖关系。也许我需要一个内部 Nuget 服务器来帮助解决这个问题。
任何人都可以分享有关品牌项目/资产的整体解决方案/项目/文件夹结构的指导,以便主 MVC 站点可以仅集成为 Nuget 包吗?简而言之,品牌材料将依赖于主平台,而不是相反。
ps 如果有人争论为什么所有第 3 方的所有品牌材料确实应该与主平台代码使用相同的解决方案 - 我也会听。