前提・実現したいこと
C#でConsoleアプリケーションを作成しています。
自分自身が管理者権限で実行されているか調べたいのですがコンパイルエラーになってしまいます。
該当のソースコード(テスト)
C#
1using System; 2using System.Security.Principal; 3 4namespace Admintest 5{ 6 class Program 7 { 8 private static void IsRunAsAdmin() 9 { 10 var Principle = new WindowsPrincipal(WindowsIdentity.GetCurrent()); 11 //return Principle.IsInRole(WindowsBuiltInRole.Administrator); 12 if (Principle == true) 13 { 14 Console.Title = "管理者:TEST"; //タイトルの変更; 15 } 16 } 17 } 18}
補足情報
OS:Windows10pro
環境:Visual Studio 2019
テンプレート:.NET Core
##追記
BluOxyさんご指摘ありがとうございます。
System.Security.PrincipalではなくSystem.Security.Permissionsを宣言していました。
これでやっと解決した..と思ったら今度は以下のエラーが発生しました。
さらに何かのUsingディレクティブが必要なのでしょうか?
####エラー内容
エラー CS1069 型名 'WindowsPrincipal' は名前空間 'System.Security.Principal' に見つかりませんでした。この型はアセンブリ 'System.Security.Principal.Windows, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' に転送されました。このアセンブリへの参照を追加することを検討してください
回答2件
あなたの回答
tips
プレビュー