關於調試時出現“源文件與模塊生成時的文件不同”

今天打開工程寫代碼,一直出現錯誤警告:“源文件與模塊生成時的文件不同,是否希望調試器使用它?”

在網上搜了很久,大部分人的解決方案是:

1、先把解決方案清理下,然後再全部重新生成。

2、在菜單工具--選項--調試--常規,把“要求源文件和版本匹配”的勾勾去掉,然後去掉“地址級調試”的勾勾。

當然還有其他的方法,有些一看就是錯的,就不列舉了。

對於第1個方法,想想是有點道理的,如果項目發現某個文件的版本不對,有可能是那個文件的生成有問題,這種錯誤尤其發生在同一個解決方案下有多個工程項目的情況,一旦有一個項目中的文件修改了但卻沒有及時生成,或者生成的lib文件沒有被調用者及時加載,就會引出這個錯誤。這種情況採用重新生成整個解決方案自然是可行的,如果解決方案太大,也可以只生成那個版本不同的工程項目。

對於第2個方法,大多數人都覺得可用,並且網絡上大多出現的也是這個方法。我不知道是不是大家都用這個方法能夠得到正確的結果,對於我自己而言,我用了這個方法,只是屏蔽了這個錯誤而已,但是我在另一個項目裏面的更改的代碼,運行主項目的時候仍然不能正確的執行,它居然還是執行的沒有修改前的代碼。這就引發了我的思考,肯定是主項目還在引用以前生成的某個lib文件,並沒有加載到我修改以後生成的lib文件。果然,經過查找項目的屬性,發現主項目的鏈接屬性那裏並沒有正確加入依賴項目生成的lib文件路徑,而是把lib文件通過拷貝的方式粘貼到了主項目的文件夾下,從而加載的。而現在即使重新生成lib文件,由於主項目加載的還是原來的那個lib,因此出錯。現在,找到了原因,只需要刪除原來存在於主項目文件夾下的lib文件,並在主項目屬性--鏈接中加入依賴項目生成的lib文件的路徑。重新生成項目,搞定!

遇到錯誤要儘量多去想想引發錯誤的原因,並不瞭解原因而僅僅靠屏蔽錯誤並不是解決問題的好辦法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章