【发布时间】:2014-04-29 06:05:38
【问题描述】:
我正在将 C# 程序从 Visual Studio 2010 移植到 Visual Studio 2013。两者都是 IDE 的 Express 版本。在 2013 年的构建中,我遇到了并行失败。
The application has failed to start because its side-by-side configuration is incorrect.
sxstrace.exe 工具没有提供任何我能够有效解释的信息。这是该工具的人类可读输出。
开始生成激活上下文。
输入参数:
标志 = 0
处理器架构 = AMD64
CultureFallBacks = en-GB;en;en-US
ManifestPath = C:\Users\Brian\Documents\Visual Studio 2013\Projects\WebInterface1\WebInterface1\bin\Debug\WebInterface1.exe
AssemblyDirectory = C:\Users\Brian\Documents\Visual Studio 2013\Projects\WebInterface1\WebInterface1\bin\Debug\
应用程序配置文件 = C:\Users\Brian\Documents\Visual Studio 2013\Projects\WebInterface1\WebInterface1\bin\Debug\WebInterface1.exe.Config
INFO:解析应用程序配置文件 C:\Users\Brian\Documents\Visual 工作室 2013\Projects\WebInterface1\WebInterface1\bin\Debug\WebInterface1.exe.Config.
错误:激活上下文生成失败。
结束激活上下文生成。
由于信息不多,我怀疑问题可能与 Interop 有关,因此我进行了一些实验,但都没有解决问题。
应用程序与 Excel 互操作,最初是 Excel 2003 来自 Office 2003 Professional。由于Office 2003 Professional 已过时,我升级到Office 2013 Home and Student 并转换了我的应用程序需要与之互操作的Excel 文件。当我的应用程序运行时,升级并没有产生明显的变化;并行失败仍然存在。
Interop DLL 是 Microsoft.Office.Interop.Excel.dll(类似于 VS 2010 项目的“源代码”,在此之前是一个 VS 2008 项目,所以我不知道它的谱系)但是为了尝试任何随机为了解决并行问题,我尝试使用不同的参考来重新构建。在Add Reference > Assemblies > Framework 下,没有似乎与 Excel 互操作相关的引用。同样,Add Reference > Assemblies > Extensions 下也没有。我提到这一点是因为在另一个 Q 和 A (link) 中,您可以看到在 VS 2012 和 VS 2010 中,似乎应该可以通过在参考管理器中找到 Microsoft.Office.Interop.Excel 来解决参考,但不幸的是,在我安装的 VS 2013。
在Add Reference > COM 下,有一个名为Microsoft Excel 15.0 Object Library (Version 1.8) 的引用。这允许项目构建,但并行失败仍然存在。这个MSDN page似乎表明这是在使用VS 2013时解决引用的正确方法,所以我不必担心已经承载了几年的DLL的谱系。
我还应该尝试什么来解决并行失败?
更新我删除了所有支持 C++ 的 VS Redistributables。如前所述,我使用的是 C#。我删除并重新安装了 VS 2013。我删除了 Office 2003。side-by-side configuration is incorrect 故障仍然存在。
【问题讨论】:
-
我非常怀疑您的问题与 Visual Studio 2013 相关,重新安装很可能无法解决您的问题。您可以尝试删除并重新添加对 Excel 的所有引用。首先,清理您的 bin 文件夹并在项目中删除名称中带有
Interop的所有引用。在添加引用对话框的 COM 部分中添加对正确版本的 Excel(您已安装的版本)的引用。 -
我删除了每个 .DLL 和 .EXE 的 bin、obj 和 Properties 文件夹,并卸载了 Office 2013 和 VS 2013(以及相关的 SQL 程序),然后按此顺序重新安装了它们。我打开了项目并删除了对依赖项(.DLL 和 Microsoft Excel 15.0 对象库)的引用,并重新浏览了依赖项并重建了每个 .DLL 和 .EXE。并排的投诉仍然存在。
-
删除 Properties 文件夹是不必要的,因为它不构成我的答案(如下)和要恢复的 PITA 的一部分。
标签: c# .net visual-studio-2013 windows-8.1 excel-interop