System.IO. FileNotFoundException: Невозможно загрузить файл или сборку 'Autodesk.AutoCAD. Interop, Version=18.0.0.0
Вопрос:
Моё .NET-приложение ссылается на версию Autodesk.AutoCAD.Interop 18.0.0.0 сборки из ObjectARX 2010 SDK, так что он должен работать с AutoCAD 2010, 2011 и 2012. К сожалению, если мое приложение выполняется на компьютере, где установлен только AutoCAD 2011 я получаю FileNotFoundException
System.IO.FileNotFoundException: Невозможно загрузить файл или сборку 'Autodesk.AutoCAD.Interop, Version=18.0.0.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b' или один из зависимых от них компонентов. Не удается найти указанный файл.
Имя файла: 'Autodesk.AutoCAD.Interop, Version=18.0.0.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b'
Ответ:
К сожалению, программа установки AutoCAD 2011 не устанавливает Autodesk.AutoCAD.Interop.dll из AutoCAD 2010 (18.0.0.0). Эта проблема устранена в обновлении 1.1 для AutoCAD 2011.
Вы также можете обойти эту проблему, создав свою собственную версию сборки, используя утилиту Tlbimp, и распространять эту сборку с приложением. Рекомендуется использовать другое название для этого, например, My.Autodesk.AutoCAD.Interop.dll.
В командной строке Visual Studio перейдите к соответствующему каталогу include из ObjectARX SDK и напечатайте:
tlbimp acax18enu.tlb /out:My.Autodesk.AutoCAD.Interop.dll
Тоже самое и для 64-разрядной Windows, для которой 64-разрядные dll сборки не инсталлируется – это требует того же самого обходного пути, который описан выше. Ожидается, что эта проблема будет решена в AutoCAD 2012.
Примечание: Вы можете просто запустить проводник и ввести %WINDIR%\assembly в адресной строке, чтобы увидеть какие сборки инсталлированы в вашей системе.
Опубликовано 07.06.2013
Отредактировано 14.04.2015 в 00:00:06