C# AutoCAD二次开发,Debug成功,Release生成时报错

文章讲述了开发者在使用VS2022进行C#对AutoCAD的二次开发时,遇到Debug配置下程序成功而Release配置下报错的问题。经过分析,发现问题出在Release配置中为COM互操作注册导致,取消该选项后解决了编译失败问题。
摘要由CSDN通过智能技术生成

1.环境描述:VS2022  AutoCAD2016

2.问题描述:用C#做AutoCAD二次开发程序,将DWG转换成Shp数据。在Debug配置下生成成功,但在Release配置下重生成失败,报 error MSB3217 错误。

1>------ 已启动全部重新生成: 项目: CreateSHP, 配置: Debug x64 ------
1>  CreateSHP -> C:\Users\LHQ\source\repos\project-tool-box\DLL_64\CreateSHP.dll
========== “全部重新生成”: 1 成功,0 失败,0已跳过 ==========
 

1>------ 已启动全部重新生成: 项目: CreateSHP, 配置: Release x64 ------
1>  CreateSHP -> C:\Users\LHQ\source\repos\project-tool-box\DLL_64\CreateSHP.dll
1>I:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(5432,5): error MSB3217: 无法注册程序集“C:\Users\LHQ\source\repos\project-tool-box\DLL_64\CreateSHP.dll”。Could not load file or assembly 'accoremgd.dll' or one of its dependencies. 找不到指定的模块。
========== “全部重新生成”: 0 成功,1 失败,0已跳过 ==========

3.程序引用如下资源,其中红框部分为引用CAD资源。 

 

 4.解决办法 

      对比Debug、Release环境配置发现,两种环境在代码优化方面有区别,在条件编译和符号配置部分Debug配置为1,2;Release配置为2,4。这部分区别应该不还导致上述问题,通过测试排除这部分因素。

      在输出配置方面Release配置勾选了“为COM互操作注册”,取消勾选后,问题解决,Release配置重生成成功。

 

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值