我正在使用Object ARX 2015和.Net框架爲AutoCad寫入擴展。在我的電腦上,一切正常。但是當我嘗試在其他計算機上使用我的.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