Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 升级至Excel 2007-应用程序仍使用2003互操作_C#_.net_Winforms_Excel - Fatal编程技术网

C# 升级至Excel 2007-应用程序仍使用2003互操作

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

我有一个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。 此外,路径引用

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上。也许他会发布一个答案,告诉你怎么做。