Откуда в моей системе упоминается System.ComponentModel.Composition.dll?
У меня есть проект C#, который генерирует some.dll
и он ссылается на кучу DLL, одна из них System.ComponentModel.Composition.dll
который находится под C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
,
я построил some.dll
и развернут в системе Windows XP. Приложение, которое использует это some.dll
работает нормально. Но когда я пытаюсь найти System.ComponentModel.Composition.dll
под C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
в системе Windows XP я не смог ее найти.
Я просто хочу понять, как приложение работает правильно.
Причина, почему я хочу понять это, я построил some.dll
в другой системе и развернут в другой системе Windows XP. Когда я пытаюсь запустить приложение, оно вылетает с ошибкой:
Exception ::Could not load file or assembly 'System.ComponentModel.Composition.resources, Version=4.0.0.0, Culture=en-NZ, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
1 ответ
Справочные сборки используются во время компиляции. Обычно, как здесь, для обозначения сборок, установленных как часть.NET Framework. Который разместит эти сборки где-нибудь под C:\Windows\Assembly
(для GAC) или C:\Windows\Microsoft.Net
,
В этом случае, как правило, предполагается, что на машине с отсутствующим компонентом установлена неверная версия.NET.