2009-09-22 101 views
2

我正在构建一个模块化项目,并且正在寻找最佳方法,使我们能够为不同的客户构建此产品的多个偏移。它需要在构建过程中完成,以便不允许客户更改配置文件中的值以启用模块。C#产品的多个SKU

我最好的猜测是某种与特定版本相关的环境变量。 有什么建议吗?

+3

我认为你的意思是SKU,而不是歪斜? – 2009-09-22 13:33:37

回答

3

模块是否在单独的dll中?我能想到的两种方法是:

  1. 使用在您包括模块+设置创建多个配置,将设置正确的变量值(例如Release_A,Release_B等)的地方条件编译语句。如果模块在单独的dll中,这可能会非常棘手,我不确定如何处理引用
  2. 编写一个简单的插件体系结构,以根据配置文件动态加载模块。这仅适用于模块处于单独的dll中时 - 您只发运客户支付的dll,因此它们无法真正使用配置文件启用任何有用的功能。
+0

为插件方法+1。在.NET中执行起来非常简单,并且还允许进行其他自定义。 – Lucero 2009-09-22 13:39:46

1

条件编译是一种选择。

<无耻插头>

我写了一篇简短的文章上conditional compilation一些样品。

< /无耻插头>

我不会再形容了,Grzenio给出了一个很好的总结,检查了他的答案。