Загрузите сборку из локального каталога, а не GAC
Я пытаюсь написать приложение "hello world" с зависимостью от сборки программного обеспечения CAD (SpaceClaim). Я добавляю сборку SpaceClaim.Api.V12.dll к своим ссылкам и собираю без проблем. Когда я пытаюсь запустить приложение, я получаю следующую ошибку:
Необработанное исключение: System.IO.FileLoadException: не удалось загрузить файл или сборку 'SpaceClaim.Api.V12, версия =12.1.11373.0, Culture= нейтральный, PublicKeyToken=7210645d4d5e3a39' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) Имя файла: 'SpaceClaim.Api.V12, Версия = 12.1.11373.0, Культура = нейтральный, PublicKeyToken=7210645d4d5e3a39' ---> System.IO.FileLoadException: Не удалось загрузить файл или сборку 'SpaceClaim. Api.V12, версия =12.1.8703.0, культура = нейтральная, PublicKeyToken = 7210645d4d5e3a39 'или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) Имя файла: 'SpaceClaim.Api.V12, версия =12.1.8703.0, культура = нейтральная, PublicKeyToken=7210645d4d5e3a39'
(это сообщение об ошибке также обсуждается здесь)
После проверки GAC я вижу, что существует сборка с таким же строгим именем, на которое я ссылаюсь (версия =12.1.8703.0). Однако, когда я открываю эти два с помощью дизассемблера (ILSpy), я вижу, что они нацелены на разные среды выполнения, одна, на которую я ссылаюсь, предназначена для.NET 2.0, а другая в GAC .NET 4.0.
Я хотел бы проигнорировать тот в GAC и выбрать из локального каталога тот, который предназначается для NET 2.0. Видимо, простого копирования его в ту же папку с исполняемым файлом недостаточно. Из того, что я читал до сих пор здесь и здесь, для этого нужно "удалить подпись" из сборки. У меня нет большого опыта работы с.NET, поэтому мне интересно, это то, что я могу сделать со сторонней сборкой, и если да, то как? Или какие у меня есть альтернативы? Две сборки имеют одинаковое строгое имя, поэтому, насколько я понимаю, поместить их в GAC не вариант.
Спасибо