ファイルまたはアセンブリ 'Microsoft.SqlServer.Typesを読み込めませんでした

StackOverflow https://stackoverflow.com/questions/1625768

質問

本番環境にデプロイした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ランタイム"そして、彼らは出てくるはずです-これまでの最も簡単な方法

私にとっては、アプリケーションを閉じてから再度開き、問題を解決します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top