我们有一个使用Outlook 2003功能(Microsoft Office 11.0对象库)的应用程序(.NET 2.0)。我的新计算机安装了Windows 7和Office 2010,并且引用不再起作用(只有Office 14对象库可用)。
安装Office 2010时是否有办法使用Office 2003 dll(我听说2003和2010不能安装在同一台机器上)?我曾尝试为Office 2003安装“Redistributable Primary Interop Assemblies”,但如果没安装Office 2003则无法安装。
答案 0 :(得分:5)
而是引用特定版本的库,使用后期绑定。这样你可以针对一个版本进行开发,但只要你坚持使用通用功能,它也适用于其他版本。
本文解释了差异Binding for Office automation servers with Visual C# .NET
使用早期绑定进行开发可能更容易,这样您就可以获得Intellisense,然后在以后删除引用(这需要一些时间。如果值得,那么在Office开发的技能水平上会有所帮助。
答案 1 :(得分:1)
我怀疑kor_仍然有这个问题,但我很难找到这个问题的帮助。
我遇到了类似的问题,经过多次搜索后发现了NetOffice。它是COM对象的包装器,因此您可以获得后期绑定兼容性,而无需更改代码。
我认为PIA仍然需要由用户和办公室一起安装。
答案 2 :(得分:0)
使用后期绑定,您可以删除对Office Interop dll的任何引用。 我们遇到了与您相同的问题,并且可行:
Dim OutlApp As Object
Dim NewEmail As Object
OutlApp = CreateObject("Outlook.Application")
NewEmail = OutlApp.CreateItem(0)