Link to home
Start Free TrialLog in
Avatar of emailrobertwalker
emailrobertwalker

asked on

Indirect reference is being made to assembly Interop

I am getting an error on one of my development machines when I try to "run" my project in debug mode. It compiles without errors, but when I try to run it in debug mode the error comes up. This SAME EXACT code on two other development machines does not give this error. What could be missing on the one development machine that might cause this error.

"Indirect reference is being made to assembly Interop.WESTrafficServer version 1.3.0.0, which contains 'WESEvaluationObjects._clsEvaluation.TrafficPattern'. This Project references a prior version of Interop.WESTrafficServer version 1.2.0.0. To use 'WESEvaluationObjects._clsEvaluation.TrafficPattern', you must replace the reference to Interop.WESTrafficServer with version 1.3.0.0 or higher."

I know FOR A FACT that the COM object and the .NET project are referencing the exact same COM DLL and there is no version descrepancy. The COM DLL's are VB6 dlls. The computer that gives the error does NOT have the VB6 runtime installed, but the other two machines do. Do you have to have the VB6 runtime installed to use COM in .NET apps?Surely not.
Avatar of newyuppie
newyuppie
Flag of Ecuador image

very ballpark: (of course you tried to remove and add the reference again)

in your solution explorer, mark to show all files. then under references, find this reference and check its SpecificVersion property, if its true, try setting it to false to see if this error goes away
Avatar of Fernando Soto
Hi emailrobertwalker;

The Microsoft Visual Basic run-time files are required by all applications that are created with Visual Basic 6.0. I would start by downloading the VB6 run-time and loading it to the box that is not working with your code.

Fernando
Hi

Let me try to point out a possible scenario of this error.

Assume you have 3 projects referring AnotherdllVersion2.dll. All f your projects had Anotherdll.dll(Version1) referred and now you replaced with Anotherdll.dll(Version2)

Your 3 projects are:
1.dll
2.dll
and 3.exe

3.exe referrs to all 1.dll,2.dll and Anotherdll.dll(Version2)

But when you replaced with new, you didnt rebuild all of the three projects. Just compiled 2.dll and 3.dll. and so 1.dll is still referred with Anotherdll.dll(Version1) and will show such an error or possibly another error(ambigous namespace found.)

Check any of your existing dependencies are built with prior version. If so, rebuild those with the new one

Thanks.
Avatar of emailrobertwalker
emailrobertwalker

ASKER

I know that seems obvious and I promise you I first recompiled ALL dll files. Like I said, it works on two development machines, but not the third. Something is missing on that third machine. We are currently installing VB6 Runtime on the machine that does not work to see if that solves the problem.
I dont think VB6 runtime will help you. please Find:

http://msdn2.microsoft.com/en-US/library/ms184598.aspx

Thanks.
ASKER CERTIFIED SOLUTION
Avatar of Fernando Soto
Fernando Soto
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial