首先感谢http://blog.sina.com.cn/s/blog_50f1c15d0100kbn6.html的博文,让我初次使用asp.net编辑生成word文档有个基本的认识。
开发环境:VS2010+OFFICE2003。在使用asp.net进行word操作前,应当先添加
控制台报出2种错误。
调试①:错误 155 程序集“Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”所使用的“Microsoft.Vbe.Interop, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”版本高于所引用的程序集“Microsoft.Vbe.Interop, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”的版本。
错误分析:系统中使用了其它的office库,比如excel等,版本是2003版(11.0.0.0)的,本系统添加的excel为2007版(12.0.0.0)。
解决方法:到网上下载11.0.0.0版本的word dll,并将其加入引用。最好复制到bin文件夹中再添加引用。
总结:asp.net操作office文档时,添加office的dll引用正常情况下不会将dll复制到项目中。而系统由开发环境部署到运行环境中office版本可能会出现不一致的情况。因此,在使用其它软件类库时最好将其拷贝到项目的bin文件中再添加引用。
调试②:请考虑将“嵌入互操作类型”属性设置为 false。
错误分析:根据网上搜到的解决方案,直接右键所引用的dll选择将“迁入互操作类型”设置为false。然而,在asp.net中开发中,引用的dll并无该选项。本错误随着调试①的解决而不再出现。