2015-04-22 2 views
0

Я пишу расширение для AutoCad с использованием Object ARX 2015 и .Net Framework. На моем компьютере все работает хорошо. Но когда я пытаюсь использовать мой .dll на другом компьютере. Я получаю эту ошибку:Не удалось загрузить тип 'System.Windows.Input.ICommand'

Exception Text

System.TypeLoadException: Could not load type 'System.Windows.Input.ICommand' from assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. at Extension.MyCommands.KeelRibbon() at Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorker(MethodInfo mi, Object commandObject, Boolean bLispFunction) at Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorkerWithExceptionFilter(MethodInfo mi, Object commandObject, Boolean bLispFunction) at Autodesk.AutoCAD.Runtime.PerDocumentCommandClass.Invoke(MethodInfo mi, Boolean bLispFunction) at Autodesk.AutoCAD.Runtime.CommandClass.CommandThunk.Invoke()

+1

Вы уверены, что DLL включена в выходной каталог? –

+0

Вы не создали эту сборку должным образом. Он был построен на машине с установленным .NET 4.5, проект нацелен на .NET 4.0, но использовал неправильные ссылочные сборки. Очень важно, чтобы вы использовали те, что содержатся в сборках c: \ program files (x86) \ reference, а не в c: \ windows \ microsoft.net –

+0

@HansPassant Возможно ли, чтобы эта ошибка возникла, даже если вывод сборки я использую 'C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 \ System.dll' Это в указанной вами папке, но пользователь получает то же исключение TypeLoadException при попытке загрузить ICommand из System.DLL. – user2023861

ответ

0

С этого класса ист части Framework .Net он должен быть доступен на компьютере, если установлена ​​правильная версия .Net. Я предлагаю один из следующих решений:

  • убедитесь, что версия .Net, для которого составлен проект установлен на другом компьютере
  • , если это не так, и вы не можете установить правильный версия на этом компьютере скомпилировать проект по доступной версии (по крайней мере, .Net 3.0)

Надежда, что помогает

0

для AutoCAD 2015, необходимо установить .NET 4.5 в качестве цели для визуального проекта Studio.