C# Visual Studio 2012中的Microsoft.Interop.Excel不再工作

C# Visual Studio 2012中的Microsoft.Interop.Excel不再工作,c#,excel,excel-2010,excel-interop,C#,Excel,Excel 2010,Excel Interop,我正在使用同事提供的DLL,出于可维护性原因,我想将他们的项目合并到一个解决方案中。他们的DLL从Excel工作表中读取数据行,我的应用程序获取数据并将其显示在listview控件中。同事在Visual Studio 2008中开发了他们的角色,而我的应用程序是在Visual Studio 2012中开发的。所有代码都是用C#编写的 合并项目后,我必须在VS2012中将Microsoft.Interop.Excel的引用更新为14.0对象库。当我在我的机器上使用更新的解决方案进行测试时,一切都很

我正在使用同事提供的DLL,出于可维护性原因,我想将他们的项目合并到一个解决方案中。他们的DLL从Excel工作表中读取数据行,我的应用程序获取数据并将其显示在listview控件中。同事在Visual Studio 2008中开发了他们的角色,而我的应用程序是在Visual Studio 2012中开发的。所有代码都是用C#编写的

合并项目后,我必须在VS2012中将Microsoft.Interop.Excel的引用更新为14.0对象库。当我在我的机器上使用更新的解决方案进行测试时,一切都很好——Excel文件被读取,一切看起来都很好;但是,当我在测试机器上运行它时,应用程序就不再工作了。它似乎无法从Excel工作表中读取数据

我的机器正在运行Office 2013,而其他机器正在运行Office 2010。我在另一台运行Office 2010和VS2012的机器上试用了它,没有问题。我还尝试下载微软的可再发行文件,但没有任何运气


是否有人遇到过类似问题?

您需要确定要使用哪个版本的Office。支持Office 2010和Office 2013所需引用的dll不同。您必须引用dll的两个版本才能同时支持这两个版本。如果要支持两个版本,则需要两个不同版本的项目。理论上,您只需确保考虑与给定Office版本关联的DLL,也就是说,如果要为Office 2010开发程序,则必须在安装了Office 2010的计算机上进行。这是理论,但我观察到自己有一个非常奇怪的行为:如果我尝试为Office 2010创建Excel/Word应用程序(这是安装在我的计算机上的版本),VS 2010一切正常,但同样的代码无法在VS 2008中编译?!因此,您不应该从VS 2008开始为Office 2010或更高版本开发。感谢您的回复。我认为这与版本控制的差异有关。很高兴现在知道答案!