私はプリントキューを監視するアプリケーションを開発中です。これを行うには、それらを管理する必要があります。しかし、デバッグのためにアプリケーションを実行するとアプリケーションが正常に動作しますが、クラスのセキュリティテストが行われるとユニットテストが実行されます。ビジュアルスタジオユニットのテストに高いセキュリティレベルを与える方法はありますか?Visual Studioユニットテストのセキュリティ例外
PrintQueue q = new PrintQueue(server, QueueName,
PrintSystemDesiredAccess.AdministratePrinter);
は例外をスロー:セキュリティ上重要なメソッドにアクセスするためのセキュリティ透明法「MS.Internal.PrintWin32Thunk.PrinterDefaults.Dispose(ブール)」で 試み「MS.Internal.PrintWin32Thunk.PrinterDefaults.InternalDispose(ブール値)」失敗しました。
再び、例外はスローされず、クラスはユニットテストの外で使用されたときに期待通りに機能します。私は管理者としてVisual Studioを実行しようとしましたが、まだ例外を受けました。
更新:私はこのクラスをテストすることができないようです。クラスライブラリを含むクラスライブラリは既に.NET 3.5で記述されているため、クラスが使用されているときに例外が発生しません。私はもう少し実験を行いましたが、このクラスライブラリが.NET 3.5をターゲットにしていても、例外を投げているクラスは.NET 4.0をターゲットとするアプリケーションでは使用できません。 .NET 4.0をターゲットにするには、Visual Studioのテストプロジェクトが必要です。