【问题标题】:How to run aspnet_regiis command programmatically如何以编程方式运行 aspnet_regiis 命令
【发布时间】:2012-12-06 04:27:17
【问题描述】:

如何运行 aspnet_regiis 命令有问题

我希望这段代码以编程方式在 C# 代码中运行

aspnet_regiis.exe -pdf "连接字符串" "C:\Users\99xccba\Desktop\连接字符串\DNN"

【问题讨论】:

    标签: c# asp.net


    【解决方案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());
    

    【讨论】:

    • 此代码假设在 Windows 命令行中运行..我需要以编程方式运行此代码,请帮助专家编写编码步骤.. C:\Program Files (x86)\Microsoft Visual Studio 8\VC >aspnet_regiis ectionStrings" "C:\Users\99xccba\Desktop\连接字符串\DNN"
    【解决方案2】:
    Process process = new Process();
    process.StartInfo.FileName = "cmd.exe";
    process.StartInfo.Arguments = "dir";
    process.Start();
    

    确保您声明了正确的路径。然后用您自己的命令替换 Arguments。或者您可以创建一个设置了路径的批处理文件并执行它。

    【讨论】:

    • CMD 不是从 c:/ 开始,而是从运行代码所在的位置开始..
    • 是的,这就是我说你需要正确设置路径的原因。我把它留给你。
    猜你喜欢
    • 2020-10-21
    • 2012-04-25
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2013-08-14
    • 2016-10-28
    相关资源
    最近更新 更多