From: Ian Harding on
Today, for no obvious reason, I started getting this error when
attempting to create an instance of a COM+ hosted component (C++/ATL
COM) from my .NET Serviced component (both hosted in the same COM+
application):

Could not load file or assembly 'eWork.Engine.Interop.eWorkTransaction,
Version=6.5.0.1, Culture=neutral, PublicKeyToken=0fa3cc64eebf4c8b' or
one of its dependencies. The handle is invalid. (Exception from HRESULT:
0x80070006 (E_HANDLE))

The interop assembly name is the correct name, version, culture and
public key token to match the version installed in the GAC. None of
these attributes or the interop assembly itself have changed for months.

I was making some changes to the C++ COM component earlier, but not
between the point it last worked and the errors started. COM+ package
configuration didn't change either.

I've tried rebooting, removing and re-creating the COM+ application,
fully rebuilding the .NET component, but still the same error pops up
every time. The exception is thrown at the line where the .NET
component creates a new instance of the C++ component.

I've run out of ideas. Please can someone shed some light!

Thanks,
Ian