我想在一个C#项目中定位多个office / outlook版本,特别是Outlook 2010及更高版本。到目前为止,我已将C#项目中的COM参考添加到Microsoft.Office.Interop.Outlook和Microsoft.Office.Core;这在2013年的开发系统上工作正常,但在2010年的系统上它可以预测会抛出一个错误:
System.IO.FileNotFoundException:无法加载文件或程序集' Microsoft.Office.Interop.Outlook,Version = 15.0.0.0,Culture = neutral,PublicKeyToken = 71e9bce111e9429c'或其中一个依赖项。该系统找不到指定的文件。 文件名:' Microsoft.Office.Interop.Outlook,Version = 15.0.0.0,Culture = neutral,PublicKeyToken = 71e9bce111e9429c'
Office 2010(v14)和2013之间的API与我的需求大致兼容,并且不应该是在一个和另一个之间切换的问题。当然,如果我使用解释语言加载Outlook COM,则代码版本不会发生变化。
我知道re.findall()
"包装"围绕各种Office版本,但如果有一个使用内置工具/方法的更简单的解决方案,我不愿意使用它。
答案 0 :(得分:1)
在安装了您计划支持的最低版本Outlook的计算机上创建互操作dll,然后在主开发计算机上添加对该互操作dll的非版本特定引用。