首页新闻找找看学习计划

C#与AutoCAD2008二次开发

0
悬赏园豆:10 [已解决问题] 解决于 2017-01-24 17:47

以前一直用得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 二次开发的资料论坛 等 谢谢!!

无线电静默的主页 无线电静默 | 初学一级 | 园豆:28
提问于:2017-01-22 11:19
< >
分享
最佳答案
1

原因很多,如

dll和exe一个是32位,一个是64位的

dll和exe的.net framework版本不一样

自己排查一下,按理说vs2013生成的dll和2010的是一样的

收获园豆:10
天方 | 大侠五级 |园豆:5264 | 2017-01-23 10:40
其他回答(1)
0

VS2013 生成的DLL  autocad2008无法加载  那就用低版本的VS去生成dll

ycyzharry | 园豆:19365 (专家六级) | 2017-01-22 13:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册