关于生产和开发环境的不同使用陈述

All*_*sen 0 c# deployment automation

我的一个项目中有一个烦人的问题,即生产环境使用Microsoft Office 2000,而我们在开发环境中只有Microsoft Office 2003.

我使用自动化对Word文档进行一些操作,以便在生产环境和开发环境中使用它,我必须将条件编译器语句放入我使用自动化的所有文件中的代码的using部分.

   #if DEVELOPEMENT 
   using Word = Microsoft.Office.Interop.Word;
   #else
   using Office;
   #endif
Run Code Online (Sandbox Code Playgroud)

编辑:我知道明显的解决方案是让Microsoft Office 2000进入开发环境,但如果你想以合法的方式做到这一点并不容易.

我使用Visual Studio 2005,那么是否有更优雅的方法来避免这种条件编译器语句?

编辑:使用SDK中的TlbImp.exe工具的解决方案非常有效,您只需记住通过使用sn.exe工具生成密钥文件为生成的文件赋予强名称,否则Visual Studio将无法编译解决方案:

"c:\...\SDK\v2.0\Bin\TlbImp.exe" "c:\...\Microsoft Office\Office10\MSWORD9.OLB" /keyfile:Office.snk /out:Office.dll
Run Code Online (Sandbox Code Playgroud)

mrd*_*nny 5

有人找到OFfice 2000安装程序并将Office 2000置于开发阶段.如果您没有类似的环境,则无法确定您的代码是否适用于生产环境.