1

aspnet_regiisコマンドを問題なく実行する方法

このコードをプログラムでC#コードで実行したい

aspnet_regiis.exe -pdf "connection Strings" "C:\ Users \ 99xccba \ Desktop \ connection string \ DNN"

4

2 に答える 2

1

非常に簡単なタスク

主な方法

        /// <summary>
    /// Method to run windows process
    /// </summary>
    /// <param name="processName">Process Name</param>
    /// <param name="arguments">Arguments </param>
    private void RunProcess(string processName, string arguments)
    {
        var newProcess = new ProcessStartInfo(processName);
        Log("User: " + GetSystemName());

        if (arguments.IsNotNullOrEmpty())
            newProcess.Arguments = arguments;
        newProcess.CreateNoWindow = false;
        newProcess.ErrorDialog = true;
        newProcess.RedirectStandardError = true;
        newProcess.RedirectStandardInput = true;
        newProcess.RedirectStandardOutput = true;
        newProcess.UseShellExecute = false;
        using (var proc = new Process())
        {
            proc.StartInfo = newProcess;
            proc.Start();
            Log(proc.StandardOutput.ReadToEnd());
        }
    }

このメソッドを呼び出すプロセス

string framework = @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe";

                if (8 == IntPtr.Size
                    || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
                    framework = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe";


                RunProcess(framework, "-ga " + GetSystemName());
于 2012-12-06T04:44:04.353 に答える
-1
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "dir";
process.Start();

適切なパスが宣言されていることを確認してください。次に、引数を独自のコマンドに置き換えます。または、パスを設定してバッチファイルを作成し、代わりにそれを実行することもできます。

于 2012-12-06T04:41:51.650 に答える