| john@ascent.co.nz 2005-06-29, 5:53 pm |
| Hi,
We are incrementally migrating an ASP application to ASP.NET and have
some .NET class libraries that we want to use from both the ASP
application and the ASP.NET application. This works fine on our
development PCs and also our backup production server. However,
whenever we deploy to our live production server we run into the
following error.
-2146233069
Method not found
This always happens from an assembly exposed via COMInterop when it
calls a method on another .NET assembly we have written.
The live server is running W2k3 Web Edition. Our development PCs are
running Windows XP Pro SP2, and the backup production server is running
W2k3 Exterprise Edition.
We have two COMInterop assemblies. We found a way to get around the
error by creating a brand new _identical_ application pool in IIS, and
then setting the application to run under it. However, with our latest
release our workaround wont work any more. This is because changing the
application pool only fixes the issue for one of our two COMInterop
assemblies. So when we switch one application pool, once assembly
works, but the other doesn't. When we switch to the other pool, the
roles are reversed. The assembly that was working doesn't, and the one
that doesn't does.
This extremely frustrating and the fact that we have this problem at
all doesn't seem to make any sense.
Ideally we wouldn't use COMInterop at all but our ASP application is
huge, and we can't afford to wait for the ASP.NET application to be
100% and then making a complete switch.
Any help would be greatly appreciated.
|