0

在Visual Studio 2017的ASP.Net Core應用程序中使用實體框架核心時,我間歇性地收到錯誤「無法加載'sni.dll'無法加載DLL'sni.dll' - 實體框架核心

奇怪的是,雖然我發現了一個臨時修復:重新啓動我的電腦

我不知道爲什麼錯誤繼續發生,我不知道該變量可能是什麼人能解釋清楚可能的原因嗎?會提供一個完整的堆棧跟蹤,但是自從決定發佈在這裏之後還沒有發生過,當下一次發生時,我一定會更新它。但是,我知道確實如此(因爲調試捕獲到異常),它發生在EF有原因從數據庫獲取數據並轉換爲ent伊蒂埃斯。

在此先感謝您的任何建議。

- EDIT 這仍在發生。設法記住捕捉堆棧跟蹤:發生

System.DllNotFoundException 的HResult = 0x80131524 消息=無法加載DLL「sni.dll」:指定的網絡名稱不再可用。 (從HRESULT異常:0x80070040) 源= 堆棧跟蹤: 在System.Data.SqlClient.SNINativeMethodWrapper.UnmanagedIsTokenRestricted(IntPtr的令牌,布爾& isRestricted) 在System.Data.Win32NativeMethods.IsTokenRestrictedWrapper(IntPtr的令牌) 在System.Data .ProviderBase.DbConnectionPoolIdentity.GetCurrent() 在System.Data.ProviderBase.DbConnectionPoolGroup.GetConnectionPool(DbConnectionFactory connectionFactory的) 在System.Data.ProviderBase.DbConnectionFactory.GetConnectionPool(的DbConnection owningObject,DbConnectionPoolGroup connectionPoolGroup) 在System.Data.ProviderBase.DbConnectionFactory .TryGetConnection(DbConnection擁有連接,TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 retr y,DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1 retry) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open() at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable.Enumerator.BufferlessMoveNext(Boolean buffer) at Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](Func 2 operation,Func 2 verifySucceeded, TState state) at Microsoft.EntityFrameworkCore.Query.QueryMethodProvider.<_ShapedQuery>d__3 1.MoveNext() at Microsoft.EntityFrameworkCore.Query.QueryMethodProvider。 < _Include> d__30 1.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable 1 source) at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler。 <> c__DisplayClass20_0 1.<CompileQueryCore>b__0(QueryContext qc) at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable 1源)

回答

2

添加NuGet包System.Data.SqlClient的V4.4.0解決了同樣的問題,我。該問題不是特定於實體框架。這是由於舊版本的SqlClient依賴於在dotnet Core 2中不可用的API。

+0

完美。是的,這似乎工作。由於其間歇性,我不能肯定地說,只有時間會告訴我猜。但我會將這個答案標記爲正確的。謝謝你的幫助。 – TheBadgerEB