VS编译生成解决方案失败,但是检查源码完全正常的奇异现象


  VS编译生成解决方案失败,但是检查源码完全正常的奇异现象问题说明:

   A.DLL 文件内定义了接口I.Do(int a);方法,发布给宿主H程序使用,编译后没有问题运行正常。然后修改了I.Do方法,假设为:I.Do(int a, int b); 再次发布A.DLL到宿主程序H,在宿主程序内修改了相关的调用Do的方法,再次编译H程序,提示I.Do方法参数错误,仔细查看代码完全没有问题,相关调用的Do方法也绝对没有问题。

   虽然代码没有任何问题,使用“生成解决方案”或“重新生成解决方式”编译无法通过,按F5或Ctrl+F5启用高度模式偶尔能正常运行,再次编译又出现错误。以前发生过这种情况,大致问题是VS使用了DLL缓存文件(副本),清除解决方案或者手工删除相关DLL文件就能解决。但是今天发生的编译错误截然不同,无论使用以前使用过的方法都没有效果。

   直觉认为是程序问题而钻了牛角尖,花了半天时候在找原因.


   最后找到问题根源:解决方案内引用了X.DLL, 而X.DLL引用了A.DLL,每次编译的时候会从X.DLL所在目录复制X.DLL及所有它的引用相关DLL(包括A.DLL)到Debug目录,因此每次编译后VS加载的是旧DLL内I.Do(int a)方法!

PS: 其实使用手工删除相关DLL文件能解决问题的,由于X.DLL是服务端的文件,压根没想到此问题是服务端关联引起的。


解决方案:

1. 若要引用其它项目的DLL,必须将DLL文件复制到Debug目录,引用debug目录下的DLL.

2. 删除与本程序相关联的DLL(第3方组件除外),重新编译.



我们解决程序错误常用几种方法:

1. 经验,曾经遇到过此问题的解决方案。
2. 排除法,若N个替在问题无法确定时适合使用。
3. 网上找解决方案。
4. 检查源码,逐步解决,这种作法最苦逼。

扫一扫加微信:
 
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:BUG: 系统管理-模块管理-frmModuleMgr.cs文件
下一篇:修改模块图标
评论列表

发表评论

评论内容
昵称:
关联文章

VS编译生成解决方案失败但是检查完全正常奇异现象
优化代码发现奇异现象,难道是VSBUG???
GIT克隆VS下来,打开解决方案发现引用全部是黄色叹号,无法编译
生成窗体Form集成到VS解决方案 - C/S框架三层架构代码生成器操作指南
IIS承载WCF部署报错:未能加载文件或程序集或它某一个依赖项(但是VS运行正常
关于FastReport.Net升级版本编译失败解决方案
GIT提交:关于VS无法提交log目录下所有文件解决方案
GitBlit - 创建、推送VS解决方案添加到版本库
代码生成器 CodeGenerator - 将窗体加入到VS解决方案
Visual Studio VS2015编译失败:全部重新生成失败,错误0
CSFramework.CodeGeneratorV6.0-将窗体(Form)加入到VS解决方案
生成项目模块(Project)添加到VS解决方案 - C/S框架三层架构代码生成器操作指南
GitBlit - 使用克隆仓库方式创建、推送VS解决方案添加到版本库
VS编译错误:解决 Files 值"<<<<<<< HEAD"无效
vs编译ASP.NET提示失败1个,error CS0246: 未能找到类型或命名空间名“CSFrameworkV5”(是否缺少 using 指令或程序集引用?
GIT - 提交冲突 - 解决冲突
VS2022+.NET7 FastReport.NET运行Design方法打开报表设计器失败解决方案
CSFramework快速开发框架项目改名VS解决方案改名(使用Rename改名工具)
VS编译错误:Files 值“<<<<<<< HEAD”无效。路径中具有非法字符
登录失败,请检查用户名和密码!CSFrameworkV5.DataAccess.DALFactory类型初始值设定项引发异常

热门标签
.NET5 .NET6 .NET7 APP Auth-软件授权注册系统 Axios B/S B/S开发框架 Bug Bug记录 C#加密解密 C#源码 C/S CHATGPT CMS系统 CodeGenerator CSFramework.DB CSFramework.EF CSFrameworkV1学习版 CSFrameworkV2标准版 CSFrameworkV3高级版 CSFrameworkV4企业版 CSFrameworkV5旗舰版 CSFrameworkV6.0 DAL数据访问层 Database datalock DbFramework Demo教学 Demo下载 DevExpress教程 DOM EF框架 Element-UI EntityFramework ERP ES6 Excel FastReport GIT HR IDatabase IIS JavaScript LINQ MES MiniFramework MIS NavBarControl Node.JS NPM OMS ORM PaaS POS Promise API Redis SAP SEO SQL SQLConnector TMS系统 Token令牌 VS2022 VSCode VUE WCF WebApi WebApi NETCore WebApi框架 WEB开发框架 Windows服务 Winform 开发框架 Winform 开发平台 WinFramework Workflow工作流 Workflow流程引擎 版本区别 报表 踩坑日记 操作手册 代码生成器 迭代开发记录 基础资料窗体 架构设计 角色权限 开发sce 开发技巧 开发教程 开发框架 开发平台 开发指南 客户案例 快速搭站系统 快速开发平台 秘钥 密钥 权限设计 软件报价 软件测试报告 软件简介 软件开发框架 软件开发平台 软件开发文档 软件体系架构 软件下载 软著证书 三层架构 设计模式 生成代码 实用小技巧 收钱音箱 数据锁 数据同步 微信小程序 未解决问题 文档下载 喜鹊ERP 喜鹊软件 系统对接 详细设计说明书 行政区域数据库 需求分析 疑难杂症 蝇量级框架 蝇量框架 用户管理 用户开发手册 用户控件 在线支付 纸箱ERP 智能语音收款机 自定义窗体 自定义组件 自动升级程序