C#缺少程序集故障转移

时间:2013-04-24 10:28:38

标签: c# .net-assembly failover

所以我有一个Windows窗体应用程序,它具有一些依赖于第三方商业库的高级功能。基本上我想实现这个库的折扣版本,然后使用它作为故障转移,如果大的商业版本不可用,以便所有功能在基本应用程序中可用,(它只是看起来更好/表现更好,如果你有商业图书馆)。

在Python中你可以这样做:

try:
    import <dependency name>
except ImportError:
#   The dependency is unavailable.

C#中是否有类似的功能?我尝试过类似的方法(在try / catch块中包装using语句),但这根本不起作用。

1 个答案:

答案 0 :(得分:0)

这取决于你所说的功能,如果它是GUI组件等,它会更加棘手。

如果它只是非可视代码和类,那么您通常可以使用接口之类的东西将功能抽象到更高级别,然后根据需要加载相关实现。

我以前用IoC做过这种事情,对我们来说效果很好。