現象
次のような状況で問題が発生します。
-
単純な ASP.NET web アプリケーションプロジェクトを Visual Studio 2012 で作成します。
-
新しいデータセットを作成し、Microsoft SQL Server 2012 または SQL Server 2014 の任意の SQL インスタンスをポイントし、任意のテーブルを使用します。
-
新しい .RDLC レポートを作成し、データセットとバインドします。
-
レポートビューアー2012の [プロパティ] アイコンから、新しく作成されたレポートを選択します。
-
[ データソースの選択 ] をクリックし、[データソースインスタンス] ドロップダウンリストから、手順2でバインドされたデータセットを選択します。
このシナリオでは、Visual Studio 2012 は直ちにクラッシュします。注: この問題は、Microsoft SQL Server 2014 でも発生します。
原因
この問題は、コードの変更によって DTEUtil のコピーが、古いバージョンの VisualStudio への参照でコンパイルされる ReportViewer デザインアセンブリに移動されるために発生します。 このため、GetGlobalService 関数を呼び出すとエラーになります。
解決方法
この問題は、Microsoft SQL Server 2012 Service Pack 2 (SP 2) で解決されます。
SQL Server 2012 の Service pack 情報
この問題を解決するには、Microsoft SQL Server 2012 の最新の service pack を入手してください。詳細については、以下の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2755533 SQL Server 2012 の最新の Service Pack を入手する方法 この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2014 の累積更新プログラム1 /en-us/help/2931693
SQL Server 2012 SP1 の累積更新プログラム9 /en-us/help/2931078
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。