我为三个不同的客户创建了三种不同的解决方案,但这些解决方案适用于具有相同功能,类,方法,分辨率的应用,除了图像,XML资源文件和Web服务引用之外,具体针对每一个。
我想为所有这些应用程序提供一个解决方案,我可以在VS2010 IDE中打开版本,没有错误。因此,当我需要构建或发布特定应用程序时,我只需将客户端设置为我需要的那个,然后继续构建或发布。
重要的是要考虑XML文件名也是相同的,因为类和图像名称也是如此。不同之处在于内容,但名称将始终相同。
我的目的是减少我维护许多解决方案的努力,只需要一个解决方案就可以使用。
在我的公司,我们很快会有超过这三个客户,所以我担心如何保持这一点。最好的方法是只有一个解决方案,当我需要为新客户端生成一个新应用程序时,我只需更改/包含一些内容(如某些资源和图像)并编译到新的客户端文件夹。
有可能吗?如果是这样的话?
答案 0 :(得分:1)
一种选择是拥有一个具有以下
的主解决方案在客户的项目中,您可以链接到文件中来自共享项目的文件。然后,在每个项目中,您可以添加仅特定于它们的文件。
使用这种结构,无论何时对模板项目进行更改,所有客户端项目都会更新,因为它们只是指向模板项目的指针。
这种设置的一个很好的参考是Json.Net Code Base。在那里,他有一个适用于所有不同配置的解决方案和项目,但它们都共享相同的文件。
在确保正确命名xml文件方面,您可能只想对主应用程序进行一些检查,以确保它具有所需的所有文件,或者可能在构建过程中添加检查。
答案 1 :(得分:0)
有很多方法可以解决这个问题。
我最喜欢的是运行某种预构建步骤 - 可能在Visual Studio之外 - 在构建之前只需用正确的文件替换文件。这很容易实现自动化并且易于扩展。
如果您打算为超过三个客户构建,那么我认为您应该从Visual Studio构建切换到其他一些自动构建系统 - 例如从命令行或类似TeamCity或CruiseControl的MSBuild。如果您的构建是自动化(并且健壮),您会发现扩展更容易
如果你不喜欢文件的想法,那么你可以尝试其他很多东西:
但这些对我来说都不是很好!