是否可以通过在Visual Studio 2008中的运行时获取值来忽略使用条件编译常量进行编译的特定代码?

时间:2013-01-21 09:29:27

标签: c# conditional-compilation

我有一个要求,我使用microsoft powerpoint功能将ppt转换为使用c#中的Microsoft核心dll的视频文件。我的计算机上安装了Microsoft Office 2010。因此,代码在找到GAC中存在的dll时会正确编译。

现在我想在未安装Microsoft Office 2010的计算机上编译相同的代码。

是否可以使用条件编译常量,或者是否有任何相同的方法?

谢谢, 卡兰

1 个答案:

答案 0 :(得分:1)

不,条件编译只是 编译时定义。

可以想到的是关于依赖注入。这样,您就不必在编译时定义程序集和办公事件程序集之间的关系,而是在运行时请求时将该程序集加载到内存中。

有关示例,请查看:

Dependency Injection: A Beginner’s Guide

中的更多comlete(但也更复杂!)解决方案

Which .NET Dependency Injection frameworks are worth looking into?