ファイルまたはアセンブリ 'Microsoft.SqlServer.Typesを読み込めませんでした
-
06-07-2019 - |
質問
本番環境にデプロイしたWebアプリケーションがあります。 WEB用とデータベース用に別々のサーバーがあります。 DBはSQL Server 2008であり、完全に異なるサーバーでホストされており、IISは別のサーバーにインストールされています。
Webサーバーで、次のエラーが表示されます。 ファイルまたはアセンブリ「Microsoft.SqlServer.Types、Version = 10.0.0.0、Culture = neutral、PublicKeyToken = 89845dcd8080cc91」またはその依存関係の1つをロードできませんでした
WebサーバーでGACを確認しましたが、この特定のDLLが欠落していました。これはWebサーバーであり、SQLServerに関連するアセンブリを持つことは想定されていないため、私には理にかなっています。
IISとDBが同じサーバーにインストールされているため、アプリケーションは開発、テスト、ステージング環境でうまく機能しました。
本番環境でこの問題を回避するにはどうすればよいですか? WebサーバーにSQL Server 2008をインストールすることにより、できます。しかし、これは私には意味がありません。これはWebサーバーです-そのマシンにSQL Server 2008をインストールする必要があるのはなぜですか?
解決
Microsoft SQL Server 2008機能パック
簡単な説明:
Microsoft SQL Server 2008 Feature Packをダウンロードします。これは、SQL Server 2008の付加価値を提供するスタンドアロンインストールパッケージのコレクションです。具体的には、CLRデータ型。
注:機能パックのリンクを2013年1月に更新しました
他のヒント
レポートビューアーにはこのクラスが必要です
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.dll
Microsoft.ReportViewer.WebForms.dll
Microsoft.ReportViewer.WinForms.dll
Microsoft.ReportViewer.DataVisualization.dll
Microsoft.SqlServer.Types.dll
最良の解決策は、Microsoft.SqlServer.Types NuGetパッケージをインストールすることです。
PM> Install-Package Microsoft.SqlServer.Types
そしてreadme.htmの指示に従ってください
@Dave SwerskyがMicrosoft SQL Server 2008機能パックを要求すると言ったように
ただし、リンクは次のように変更されました:
Microsoft® SQL ServerのシステムCLRタイプ® 2008 R2:
X86パッケージ(SQLSysClrTypes.msi): http://go.microsoft.com / fwlink /?LinkID = 188391& clcid = 0x409 X64パッケージ(SQLSysClrTypes.msi): http://go.microsoft.com/fwlink/ ?LinkID = 188392& clcid = 0x409
元のリンクを使用すると、パッケージが分離されていることを示すテキストファイルが取得されます
「続行」を押すだけでこのエラーを無視できました。エラーが表示されたらボタンをクリックします。インストールが終了すると、2008 R2サーバーの動作に影響を与えるようには見えませんでした。 Windows 7 64ビットを実行しています。
このフォーラムの投稿をご覧ください: https://social.technet.microsoft.com/Forums/sharepoint/en-US/7e673dde-dfca-4b1a-a840-025a2ae9ee58/reportviewer-msi-is- missing-microsoftsqlservertypesdll?forum = sqlreportingservices 、
最初の応答。再配布可能なレポートビューアーランタイムの.dllを実際にダウンロードし、プロジェクトに追加して、それらのファイルを持たないコンピューターに展開できるようにします。
VS 2012のランタイムを実際にダウンロードするためのリンク: http://www.microsoft.com/EN-US/download/confirmation.aspx?id=35747
PSまた、NuGetを介してダウンロードすることもできます(これは私が行ったことです)。" MICROSOFT®を検索するだけです。レポートビューアー2012ランタイム"そして、彼らは出てくるはずです-これまでの最も簡単な方法
私にとっては、アプリケーションを閉じてから再度開き、問題を解決します