.Net更改代码生成不生效

问题:在原.NETFramework项目下,新增一个Controller。本地debug通过后,发布到线上后,发现该controller无效。校对日期,发现文件日期一直还是旧版本。

解决过程:重新开启本地debug调试,没问题。本地release调试,发现同样问题。

1.可能是配置项的问题吗?查看svn,对比更改项,发现没有更改;

2.项目property设置?发现也没有更改;

3.生成的bin文件问题?删掉项目的bin文件,重新生成,依然无法生成新的dll。

问题没解决,小小的问题没解决,真是大大的打击,想想要不就把跟项目无关,自动生成的文件夹删掉(主要是bin和obj),重新生成,解决了。

反过来,我们看对于obj这个文件夹的作用是什么,有个介绍是这么说的:obj是object的缩写,用于存放编译过程中生成的中间临时文件。其中都有debug和release两个子目录,分别对应调试版本和发行版本,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。由此可见,这个问题或许跟obj文件不更新相关,因为之前是已经测试过去掉bin文件生成,然并卵。所以有遇到新增或修改代码无法生成新dll的同学可以尝试下是否可行。

查看了编译相关知识点,也没具体的一个解释bin和obj是在哪一步产生,哪一步是检测更新的。望知道的同学,告知一声,在此不胜感激。

posted @ 2018-12-11 14:34  阿剑|Aven  阅读(494)  评论(0编辑  收藏  举报