Recently written a .NET program needs to call the previous COM , because this component uses the class in the ADO, when calling it .NET also generates the corresponding AdoDB's Interop agent, starting to compile in 2000, ADO components Since the global cache is added, there is no problem in generating a local agent. Later, I was re-installed. When I compiled the program again, INTEROP.ADODB.DLL was copied locally, and the strong name property became false (and could not change)? I didn't care about it, and there is no error in compilation, but it is coming when I run, Method Not Found. . . NOT FOUND is a method that returns AdoDB.Recordset, apparently the problem of adoDb.dll, so use ILDASM to open the assembly, discover the program compiled under 2000 and the procedure compiled under XP! Parts in the reference assembly: .ssembly extern adod {.publicKeyToken = (B0 3F 5F 7F 11 D5 0A 3a) ///.? _......... .ver 7: 0: 3300: 0} XP: .assembly extern interface.adoDB {.ver 2: 7: 0: 0} Obviously, there is no use of AdoDB.dll in the global program set, but it is used as a COM to delete it from the development environment. This agent wants to force the adodb.dll in the global cache, compile, but the runtime error comes again: I can't find the assembly interop.adodb.dll. I have to have a strong depression, I have to put it back in 2000. I have long heard that the interoperability between .NET and COM has a problem. I don't know how Microsoft is aging. It is still, the reaction is getting slower. . .