2017-03-07 222 views
6

這一切新的給我,所以我承擔......無法加載DLL「SqlServerSpatial140.dll」:指定的模塊找不到

我工作的Visual Studio項目;這是一個返回一些數據的Web服務。

我只是試圖讓到Web服務器特定呼叫我的本地機器上(IIS)和我得到這個錯誤:之前有人說,這

Unable to load DLL 'SqlServerSpatial140.dll': The specified module could not be found

- 是的,很顯然我缺少這個DLL文件。我在網上搜索,沒有看到我可以從哪裏下載(我已經安裝了Microsoft SQL Server系統CLR類型(x64)和非X64)我已經安裝了用於SQL Server 2014和2016的Microsoft系統CLR類型)

有誰知道如何解決這個問題?有誰知道我是否可以從某處下載此文件?

回答

2

將dll從C:\Users\<User>\.nuget\packages\Microsoft.SqlServer.Types\14.0.314.76\nativeBinaries\x86複製到您的項目。用鼠標右鍵單擊該文件,然後單擊屬性。將「複製到輸出目錄」設置爲「始終複製」。

+1

1)該選項不適用於NuGet包2)部署到服務器時會發生什麼? – Shimmy

4

當您安裝Microsoft.SqlServer.Types NuGet包,這應該在根目錄創建一個新的文件夾:

\SqlServerTypes 
    |_x64 
    |_x86 

應包含相應的DLL的。它也自動設置爲複製如果更新

然後,請確保您的應用程序加載相應的組件:

  • ASP.NET Web應用程序:SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));
  • 對於桌面應用程序/其他:SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);

不知道這作品與.NET核心雖然。

+1

我似乎無法找到'SqlServerTypes'類。 – Shimmy

+0

我也是。找不到SqlServerTypes – Venkat

+0

您能否確認文件是否存在於解決方案中?在構建/打包之前?打包並複製到Web服務器後? –

相關問題