.Net遇到的問題以及解決方法

一、Global.asax錯誤

1、錯誤提示

“/”應用程序中的服務器錯誤。
<%@ Application Codebehind=”Global.asax.cs” Inherits=”AdventureWorks.WebApiApplication” Language=”C#” %>

2、可能原因(不一定全部包括)

(1)DLL組件可能不在正確的路徑上
(2)Inherits後面的值與實際值不匹配
(3)虛擬目錄沒有創建或者映射到其它路徑

3、解決方法

在網上查找了許多資料後總結了一些解決方法:
(1)確保DLL在正確的路徑上,如果沒有,可以刪除後重新添加;
(2)確保Inherits後面的值與實際值匹配,右鍵單擊Global.asax,選擇查看標記,觀察Inherits後面的值,然後打開Global.asax.cs查看類名是否與Inherits後面的值相同,如不相同,修改Global.asax的值;
(3)右鍵web程序,選擇屬性,找到Web標籤,找到項目URL點擊後面的虛擬目錄,重新創建。

4、備註

可能有時出現這種情況:<%@ Application Codebehind=”Global.asax.cs” Inherits=”AdventureWorks.WebApiApplication” %>,可能也有默認語言不是C#的原因,這時需要添加Language=”C#”。

二、安裝Nuget包錯誤

1、錯誤提示

一般會出現類似的異常信息:未能加載文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一個依賴項。找到的程序集清單定義與程序集引用不匹配。 (異常來自 HRESULT:0x80131040)

2、可能原因

(1)項目引用的dll版本與其它dll所依賴的dll版本不一致;
(2)可能是System.Net.Http.Formatting的某一項配置沒有配置,導致程序默認引用了舊版本的Newsoft.Json,而該版本的Newsoft.Json又找不到;
(3)使用程序包管理器控制檯安裝到其它項目中。

3、解決方法

(1)可以嘗試在web.config或app.config中添加以下代碼:

<dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
      </dependentAssembly>

這是爲了使DLL滿足向下兼容。
(2)在使用程序包管理器控制檯時,記得把默認項目改成所需要的項目,然後再通過命令行進行包的安裝、更新或替換低版本。

三、數據庫讀取儲存錯誤

1、錯誤提示

“System.Data.Entity.Infrastructure.DbUpdateException”類型的異常在 EntityFramework.dll 中發生,但未在用戶代碼中進行處理。

2、可能原因

可能是定義的實體類和數據庫列不對應。

3、解決方法

只要把缺少的實體類定義好就行了。

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