msnews.microsoft.com
9/20/2007 6:45:00 PM
Hello!
I have registered a C# private assembly with two versions (using regasm),
so that the registry contains entries like this:
....\InprocServer32\1.0.0.0 <= I want this
....\InprocServer32\1.0.2819.34866 <= unfortunate mistake
This was before I fixed the assembly version to 1.0.0.0. Now I'm trying to
create COM objects from C++, but COM reports Class not registered. It is
the 1.0.2819.34866 entry that messes things up. If I remove this entry (it
should not be there, really) everything works fine. Unfortunately, while
this is easy for me to do, for my clients it is not.
Is there a way I can force my application to load a specific version? I am
not using the GAC, but COM.
I have created a geo.exe.config like this:
<?xml version ="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v1.1.4322" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Roadrunner"
version="1.0.0.0"
publicKeyToken="baaf840ae384ab38"
culture="neutral" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
This hasn't helped though. Any help is much appreciated!
Thanks in advance!
--
Daniel