升级到Excel 2007 – 应用程序仍然使用2003年互操作

我有一个Windows窗体应用程序,使用Excel生成一些报告。 直到现在,它使用2003年,但我已经升级到2007年使用。我已经安装在我的机器2003年,2007年和2010年,我的应用程序引用Microsoft.office.core,V 12.0和microsoft.office.interop.excel V 12.0 。 但是在我的代码中,当我这样做的时候:

using Excel = Microsoft.Office.Interop.Excel; ...... Excel.Application excelApp = new Excel.Application(); string v = excelApp.Version; 

v将是11.0。 另外,path引用

 C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll 

这怎么可能发生? 任何ideea我如何解决它?

谢谢!

你不应该保留两个版本(至less在你的开发机器上)。在你的客户端机器上,这不应该是一个问题。 通常在这种情况下你的代码应该加载2007 PIA。 我build议你应该修理。 或者做一个完整的全新安装2007年或者摆弄registry,并将活动版本设置为12(我不推荐)

我最近看到了这个话题,也许对你也有用: 尝试用Excel 2007做Office Automation,但是一直使用Excel 2003 。