'命名空間"xxx"中不存在類型或命名空間名"xx"(是否缺少程序集引用)'-異常報錯的原因


1、事故現場

編程語言:C#
編輯器:VS2019
事故上下文:
有三個程序集項目Resource.DAL、Resource.DTO和Resource.Utility,
DAL引用了DTO和Utility,DTO和Utility獨立生成都沒有問題,但是DAL生成的時候出現了很多報錯,如圖:
在這裏插入圖片描述
從報錯上看,就是DAL引用DTO和Utility沒有成功,但是,DTO和Utility兩個程序集單獨生成是成功的;更詭異的現象是,雙擊某個報錯,導引到具體報錯位置,代碼處卻沒有報錯提示,且那個報錯也會在錯誤列表中消失,從新生成,那些報錯依舊在;

2、分析原因及解決方案;

因爲DTO和Utility單獨生成沒問題,說明DAL和DTO、Utility的應用依賴有衝突,回想之前的操作,在DAL項目中添加了“Newtonsoft.Json”的引用,立刻想到應該是DAL中應用的版本和DTO、Utility引用的版本不一致;

經過確認,果然不出所料,DAL引用的版本爲 6.0.8,DTO和Utility引用的版本爲6.0.3,當初引用的時候只注意了大的版本號,沒有注意小的版本號。

最後,統一了“Newtonsoft.Json”的版本,錯誤都消失了。

3、總結

因不同項目引用的某個相同程序集版本不一致,項目間又有引用關係,導致的生成報錯;


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