开发的机子上面同时安装了Office 2003与Office 2007.
在添加对Microsoft.Office 11.0 Object Library的引用的时候, 查看属性, 会被自动的指向Office 12.0上面去.
服务器的上面只安装了Office 2003, 即 Office 11.0 因此需要在Web.Config里面做一些设置.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Office" publicKeyToken="71e9bce111e9429c" culture="neutral" />
<publisherPolicy apply="yes" />
<bindingRedirect oldVersion="12.0.0.0" newVersion="11.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
经测试, 配置是有效的.
估计如果引用的是其它的组件, 如Excel, Office, Outlook, 该方法同样奏效. 应该只需要改一下name 和publicKeyToken即可.