以前一直用得VS2013 这次想用.net技术开发一些autocad的插件工具 ,但是 我用VS2013 生成的DLL cad2008 用netload 命令始终无法加载 (调整了framework版本3.5)
命令: netload
无法加载程序集。错误详细信息: System.BadImageFormatException: 未能加载文件或程序集“file:///E:\visual
studio
2013\Projects\autoCADch1\Hello\bin\Debug\Hello.dll”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时
新,无法加载此程序集。
文件名:“file:///E:\visual studio
2013\Projects\autoCADch1\Hello\bin\Debug\Hello.dll”
在 System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark,
Boolean throwOnFileNotFound, Boolean forIntrospection)
在 System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark,
Boolean throwOnFileNotFound, Boolean forIntrospection)
在 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence
assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
在 System.Reflection.Assembly.InternalLoadFrom(String assemblyFile, Evidence
securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm,
Boolean forIntrospection, StackCrawlMark& stackMark)
在 System.Reflection.Assembly.LoadFrom(String assemblyFile)
在 Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
在 loadmgd()
警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
但是同样的代码 我用 VS2010生成 Dll 在cad2008 中又能被加载
是版本不一样而产生的问题吗?还是 我VS2013有些设置不对 另外求大神推荐 C#对CAD2008 二次开发的资料论坛 等 谢谢!!
原因很多,如
dll和exe一个是32位,一个是64位的
dll和exe的.net framework版本不一样
自己排查一下,按理说vs2013生成的dll和2010的是一样的
VS2013 生成的DLL autocad2008无法加载 那就用低版本的VS去生成dll