オブジェクトをデータ ソースとしてローカル モードで Visual Studio 2008 の ReportViewer コントロールを使用しています。私のクラスは、データベースのデータ テーブルにマップされています。オブジェクトでは、必要に応じて関連オブジェクトをロードします。そのため、プロパティを使用しようとするまで参照を null のままにし、その後、データベースから自動的にロードしようとします。クラスは System.Data.SqlClient 名前空間を使用します。
Windows フォーム アプリケーションでオブジェクトを操作すると、すべてが期待どおりに機能します。しかし、レポート データ ソースとして使用するオブジェクトを渡すと、関連するオブジェクトを自動的に読み込もうとすると失敗します。コードは SqlConnection オブジェクトを作成し、それに対して GetCommand() を呼び出すと、次の例外がスローされます。
[System.Security.SecurityException] {
"Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."
} System.Security.SecurityException
エラーを検索しようとしましたが、表示されるすべての結果は、SQL Server または ASP.Net で実行されている CLR アセンブリに関するものです。SqlConnection オブジェクトを作成する前に、(検索結果で提案されているように) コードに次の呼び出しを追加しようとしましたが、明らかに何もしませんでした:
System.Data.SqlClient.SqlClientPermission(System.Security.Permissions.PermissionState.Unrestricted).Assert();
何か案は?