У меня есть проект C#, который ссылается на сборку смешанного режима C++/CLI. Эта сборка хранится внутри папки в PATH, и она также присутствует в GAC, но когда она выполняется, я получаю:Почему сборочный загрузчик не проверяет GAC для сборки смешанного режима C++/CLI?
System.IO.FileNotFoundException: Не удалось загрузить файл или сборку 'PcsSocketCommunications500, Version = 0.0. 0.0, Culture = neutral, PublicKeyToken = null '
Версия 0.0.0.0 - это потому, что C++/CLI не имеет класса версии сборки, но насколько я знаю, это не должно быть проблемой.
Монитор процесса работы Я видел, что система просто ищет сборку в той же папке, что и основной процесс ... Я не специалист по загрузке сборок, но я ожидал увидеть хотя бы некоторые поисковые системы GAC и «может быть» некоторый путь выбирает только .. Вот что я получил (PcsSocketCommunication500.dll является ++/сборки C CLI и в черном цвете это рабочий каталог):
Любая идея о том, почему загрузчик не проверяя GAC или PATH?
Право. Сборка была подписана и установлена в GAC после компиляции кода, на который он ссылался (попытка исправить проблему). Я думаю, что, поскольку звонящий знал, что он не подписан, он не искал в ПКК. Еще раз спасибо. –