I am porting a C# program from Visual Studio 2010 to Visual Studio 2013. Both are Express versions of the IDE. In the 2013 build I encounter a side-by-side failure.
The application has failed to start because its side-by-side configuration is incorrect.
The sxstrace.exe
tool does not provide any information that I was able to interpret usefully. Here is the human readable output from the tool.
Begin Activation Context Generation.
Input Parameter:
Flags = 0
ProcessorArchitecture = 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\
Application Config File = C:\Users\Brian\Documents\Visual Studio 2013\Projects\WebInterface1\WebInterface1\bin\Debug\WebInterface1.exe.Config
INFO: Parsing Application Config File C:\Users\Brian\Documents\Visual Studio 2013\Projects\WebInterface1\WebInterface1\bin\Debug\WebInterface1.exe.Config.
ERROR: Activation Context generation failed.
End Activation Context Generation.
With little information to go on, I suspected the problem may be Interop related so I proceeded with a few experiments, none of which resolved the problem.
The application interoperates with Excel, originally, Excel 2003
from Office 2003 Professional
. Since Office 2003 Professional
is obsolete, I upgraded to Office 2013 Home and Student
and converted the Excel file that my application needs to interoperate with. The upgrade did not make a noticeable difference when my application is run; the side-by-side failure persists.
The Interop DLL was Microsoft.Office.Interop.Excel.dll
(carried over like "source code" from the VS 2010 project, and before that, a VS 2008 project, so I don't know about its pedigree) but in order to try any random thing to fix the side-by-side problem, I attempted to use a different reference to re-build. Under the Add Reference > Assemblies > Framework
, there is no reference that appears to be Excel Interop-related. Likewise there is none under Add Reference > Assemblies > Extensions
. I mention this because in this other Q and A (link), you can see that in VS 2012 and VS 2010, it seems that it should be possible to resolve references by finding Microsoft.Office.Interop.Excel
in the reference manager, but unfortunately, not in my installation of VS 2013.
Under Add Reference > COM
, there is a reference called Microsoft Excel 15.0 Object Library (Version 1.8)
. This allows the project to build but the side-by-side failure persists. This MSDN page seems to indicate that this is the right way to resolve the reference when using VS 2013, so I don't have to worry about the pedigree of the DLL that has been carried over several years.
What else should I try to resolve the side-by-side failure?
Update I removed all VS Redistributables that support C++. As already mentioned, I am using C#. I removed and re-installed VS 2013. I removed Office 2003. The side-by-side configuration is incorrect
failure persists.