Откуда в моей системе упоминается 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.

Другие вопросы по тегам