精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
近期写一个自动翻译工具,用C#处理HTML内容,处理HTML内容的方法在库里,调用方法在主项目里,但是明明构造函数的声明和调用一致,因为就一个参数,不是很多参数,一致不一致一眼就能看出来,但是还是报构造函数不匹配编译失败问题。
在出这个问题时,库代码里加断点也不能触发,当时就觉得奇怪,一个解决方案里的代码,断点肯定没问题,但是左侧断点指示条上是不允许的图标。调试时逐语句进入调试也不会进入到库代码里。
因为是库项目,所以肯定知道是引用方面不对,所以把主项目对库项目的引用依赖去掉,再用项目依赖方式加上去,还是不行。
对库项目进行重新生成还是不行,排除不一致情况。
没办法,试了文件引用形式,在添加引用前,把exe所在debug目录下的dll文件删除,再编译库项目,出现新的dll文件;再用添加引用里,浏览模式添加,添加新编译出来的DLL,再次编译代码,构造函数不匹配编译问题消失,问题解决。
这奇怪编译失败问题可能是因为换了VS新版本,以前是VS2010,出问题是VS2019,也或者是项目管理混乱导致。出问题的项目是小项目,能将就处理,如果是大项目大平台,不要轻易升级开发平台。