ADN Open CIS
Сообщество программистов Autodesk в СНГ

07/06/2013

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 в адресной строке, чтобы увидеть какие сборки инсталлированы в вашей системе. 

Источник: http://adndevblog.typepad.com/autocad/2013/04/systemiofilenotfoundexception-could-not-load-file-or-assembly-autodeskautocadinterop-version18000.html

Автор перевода: Александр Ривилис
Опубликовано 07.06.2013
Отредактировано 14.04.2015 в 00:00:06