C# 升级至Excel 2007-应用程序仍使用2003互操作
我有一个windows窗体应用程序,它使用excel生成一些报告。 直到现在它使用2003年,但我已经升级到使用2007年。我已经在我的机器上安装了2003、2007和2010,我的应用程序引用了Microsoft.office.core、v 12.0和Microsoft.office.interop.excel v 12.0。 但在我的代码中,当我这样做时:C# 升级至Excel 2007-应用程序仍使用2003互操作,c#,.net,winforms,excel,C#,.net,Winforms,Excel,我有一个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.Applicati
using Excel = Microsoft.Office.Interop.Excel;
......
Excel.Application excelApp = new Excel.Application();
string v = excelApp.Version;
v将为11.0。
此外,路径引用
C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll
这怎么会发生?
有什么主意吗?我怎么能修好它
谢谢大家! 您不应该同时保留这两个版本(至少在您的开发机器上)。在您的客户端机器上,这不应该是一个问题。通常在这种情况下,您的代码应该加载2007 PIA。我建议你修理一下。或者重新安装2007。或者修改注册表并将活动版本设置为12(我不推荐)我最近看到了这个主题,也许它对您也很有用:。如果您正在为用户开发应用程序,您需要使用他们正在使用的版本进行测试,因此您需要访问完整的版本集。我相信是@Siddharth Rout建议将每个版本安装在一台单独的虚拟PC上。也许他会发布一个答案,告诉你怎么做。