在我的项目中,生产环境使用Microsoft Office 2000并且我们只在开发环境中使用Microsoft Office 2003的项目中有一个恼人的问题。在生产和开发环境中使用不同的陈述
我使用自动化来对Word文档进行一些操作,以便在生产环境和开发环境中进行这项工作,我必须在所有使用自动化的文件中将条件编译器语句放入我的代码的使用部分。
#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