Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>You can't do it with the native <code>Exec</code>. But you can write your own that fires asynchronously, as in <strong><a href="http://blog.eleutian.com/2007/03/01/AsyncExecMsBuildTask.aspx" rel="noreferrer">this example</a></strong>:</p> <pre><code> public class AsyncExec : Exec { protected override int ExecuteTool(string pathToTool, string responseFileCommands, string commandLineCommands) { Process process = new Process(); process.StartInfo = GetProcessStartInfo(pathToTool, commandLineCommands); process.Start(); return 0; } protected virtual ProcessStartInfo GetProcessStartInfo(string executable, string arguments) { if (arguments.Length &gt; 0x7d00) { this.Log.LogWarningWithCodeFromResources("ToolTask.CommandTooLong", new object[] { base.GetType().Name }); } ProcessStartInfo startInfo = new ProcessStartInfo(executable, arguments); startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.CreateNoWindow = true; startInfo.UseShellExecute = true; string workingDirectory = this.GetWorkingDirectory(); if (workingDirectory != null) { startInfo.WorkingDirectory = workingDirectory; } StringDictionary environmentOverride = this.EnvironmentOverride; if (environmentOverride != null) { foreach (DictionaryEntry entry in environmentOverride) { startInfo.EnvironmentVariables.Remove(entry.Key.ToString()); startInfo.EnvironmentVariables.Add(entry.Key.ToString(), entry.Value.ToString()); } } return startInfo; } } </code></pre> <p>which you can then run with:</p> <pre><code>&lt;AsyncExec Command="..." /&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload