If the assembly is added to the GAC, is it nevertheless necessary to add all the assemblies to which it refers?

Background Information:

I have two COM + components on a remote server based on .NET assemblies, one of which calls the other, which in turn calls a private assembly.

My call chain looks like this:

Client machine:

Test Harness → Initializes the COM + TestFirst component "through Activator.CreateInstance (...), which routes through the COM + proxy, then calls the method on the instance.

Remote server:

TestFirst → A method call from the client initializes the COM + component " TestSecond " through the "new" use of the keyword, and then calls the method in the instance.

TestSecond → Calls the method of the class contained in the private assembly; " TestThird "

Problem:

For a successful call to TestSecond , it seems to me that I should install the assembly in the GAC. Otherwise, I get this error:

Unable to load type 'TestSecond.TestSecond, TestSecond, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = ...'.

OK, so I add TestSecond.dll to the GAC, and then ...

Failed to load file or assembly "TestThird, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = ..." or one of its dependencies. The system cannot find the specified file.

TestThird GAC, , . , , , , GAC, COM + - .

? GAC?

. , , GAC.

COM +, COM + - " "

+3

Source: https://habr.com/ru/post/1773897/


All Articles