1. 程式人生 > >.Net更改代碼生成不生效

.Net更改代碼生成不生效

問題 嘗試 bug 自動 可能 知識點 ont 文件夾 保存

問題:在原.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是在哪一步產生,哪一步是檢測更新的。望知道的同學,告知一聲,在此不勝感激。

.Net更改代碼生成不生效