我的一个项目中有一个烦人的问题,即生产环境使用Microsoft Office 2000,而我们在开发环境中只有Microsoft Office 2003.
我使用自动化对Word文档进行一些操作,以便在生产环境和开发环境中使用它,我必须将条件编译器语句放入我使用自动化的所有文件中的代码的using部分.
#if DEVELOPEMENT using Word = Microsoft.Office.Interop.Word; #else using Office; #endif
编辑:我知道明显的解决方案是让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
mrdenny.. 5
有人找到OFfice 2000安装程序并将Office 2000置于开发阶段.如果您没有类似的环境,则无法确定您的代码是否适用于生产环境.
有人找到OFfice 2000安装程序并将Office 2000置于开发阶段.如果您没有类似的环境,则无法确定您的代码是否适用于生产环境.