WPFアプリケーション(自己ホスト型)にWCFサービスがあり、 "このプロセスにはこの名前空間へのアクセス権がありません"という一般的なエラーがあります。 ユーザーに管理者権限を与えることはできません。したがって、.manifestを使用することは解決策ではありません。 ポートは動的で、アプリケーションは毎回空きポートを計算するので、アプリケーションはnetshでリッスンポートを何度も挿入する必要があります ドメイン管理者がProcessStartInfoを使用しますが、プロセスを開始するにはユーザーに管理者権限が必要です。 管理者としてアプリケーションを実行するのは解決法ではないので、通常のユーザーがアプリケーションを実行でき、プログラムがドメイン管理者としてnetshによってポートを追加する必要があります。管理者権限を持たないドメイン管理者としてWCFにnetshポートを追加する
ProcessStartInfo psi = new ProcessStartInfo("netsh", parameter);
SecureString ss = new SecureString();
for (int i = 0; i < adminPass.Length; i++)
ss.AppendChar(adminPass[i]);
psi.Password = ss;
psi.UserName = Admin;
psi.Domain = Domain;
psi.Verb = "runas";
psi.RedirectStandardOutput = false;
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
Process.Start(psi);
どうもありがとう