Я пишу расширение для 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()
Вы уверены, что DLL включена в выходной каталог? –
Вы не создали эту сборку должным образом. Он был построен на машине с установленным .NET 4.5, проект нацелен на .NET 4.0, но использовал неправильные ссылочные сборки. Очень важно, чтобы вы использовали те, что содержатся в сборках c: \ program files (x86) \ reference, а не в c: \ windows \ microsoft.net –
@HansPassant Возможно ли, чтобы эта ошибка возникла, даже если вывод сборки я использую 'C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 \ System.dll' Это в указанной вами папке, но пользователь получает то же исключение TypeLoadException при попытке загрузить ICommand из System.DLL. – user2023861