私はStartInfoにユーザー名、ドメイン、およびパスワードを提供するWindowsフォームアプリケーションがあり、そしてそれは、このスロー:.NETプロセスの開始プロセスエラー(ハンドルが無効です)
System.ComponentModelを。 Win32Exception:ハンドルがSystem.Diagnostics.Process.StartでSystem.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) (で 無効です)
私は資格情報が現在のユーザーにデフォルト設定することができたとき、私はそのようなを取得していませんエラーが発生し、プロセスが開始されると、資格情報を使用する必要がない程度まで機能します(クレジットはn MSBuildスクリプトでドライブをマッピングするためのecessary)。
Process p = new Process();
ProcessStartInfo si = new ProcessStartInfo(buildApp, buildArgs);
si.WorkingDirectory = msBuildWorkingDir;
si.UserName = txtUserName.Text;
char[] psw = txtPassword.Text.ToCharArray();
SecureString ss = new SecureString();
for (int x = 0; x < psw.Length; x++)
{
ss.AppendChar(psw[x]);
}
si.Password = ss;
si.Domain = "ABC";
si.RedirectStandardOutput = true;
si.UseShellExecute = false;
si.WorkingDirectory = txtWorkingDir.Text;
p.StartInfo = si;
p.Start();
それは私が悪いPSWを提供する場合、例えば、それはそれをキャッチするので、ユーザ/ PSWは、一致していないということではありません。ここでは、開始情報を埋めるコードです。したがって、この「無効なハンドル」は、信用証明書が渡された後に起こっています。私が何を省略したり、犯したりしているのかについてのアイデアはありますか?
うわー、はい。私はすでにRedirectStandardOutputをtrueに設定していましたが、他の2つのリダイレクトは設定していませんでした。私は他の2つを真に設定し、それを修正しました!ありがとう、@Chris Lively !! – Cyberherbalist
ありがとう、そのエラーメッセージでかなり混乱していた。 – Cwoo
これに感謝します。私はこれを楽しみました。 –