// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#if NET_2_0
using System;
using System.Diagnostics;
namespace Microsoft.Build.Tasks {
public class AL : ToolTaskExtension {
- Process alProcess;
-
public AL ()
{
}
commandLine.AppendSwitchIfNotNull ("/baseaddress:", BaseAddress);
commandLine.AppendSwitchIfNotNull ("/company:", CompanyName);
commandLine.AppendSwitchIfNotNull ("/configuration:", Configuration);
- commandLine.AppendSwitchIfNotNull ("/copyright:", Copyright);
commandLine.AppendSwitchIfNotNull ("/culture:", Culture);
- if (DelaySign == true)
- commandLine.AppendSwitch ("/delaysign");
- if (EmbedResources != null)
- foreach (ITaskItem item in EmbedResources)
- commandLine.AppendSwitchIfNotNull ("/embedresource:", item.ItemSpec);
+ commandLine.AppendSwitchIfNotNull ("/copyright:", Copyright);
+ if (Bag ["DelaySign"] != null)
+ if (DelaySign)
+ commandLine.AppendSwitch ("/delaysign+");
+ else
+ commandLine.AppendSwitch ("/delaysign-");
+ commandLine.AppendSwitchIfNotNull ("/description:", Description);
+ if (EmbedResources != null) {
+ foreach (ITaskItem item in EmbedResources) {
+ string logical_name = item.GetMetadata ("LogicalName");
+ if (!string.IsNullOrEmpty (logical_name))
+ commandLine.AppendSwitchIfNotNull ("/embed:", string.Format ("{0},{1}", item.ItemSpec, logical_name));
+ else
+ commandLine.AppendSwitchIfNotNull ("/embed:", item.ItemSpec);
+ }
+ }
commandLine.AppendSwitchIfNotNull ("/evidence:", EvidenceFile);
commandLine.AppendSwitchIfNotNull ("/fileversion:", FileVersion);
commandLine.AppendSwitchIfNotNull ("/flags:", Flags);
- if (GenerateFullPaths == true)
+ if (GenerateFullPaths)
commandLine.AppendSwitch ("/fullpaths");
commandLine.AppendSwitchIfNotNull ("/keyname:", KeyContainer);
commandLine.AppendSwitchIfNotNull ("/keyfile:", KeyFile);
if (LinkResources != null)
foreach (ITaskItem item in LinkResources)
- commandLine.AppendSwitchIfNotNull ("/linkresource:", item.ItemSpec);
+ commandLine.AppendSwitchIfNotNull ("/link:", item.ItemSpec);
commandLine.AppendSwitchIfNotNull ("/main:", MainEntryPoint);
if (OutputAssembly != null)
commandLine.AppendSwitchIfNotNull ("/out:", OutputAssembly.ItemSpec);
public override bool Execute ()
{
- CommandLineBuilderExtension clbe = new CommandLineBuilderExtension ();
- AddResponseFileCommands (clbe);
-
- alProcess = new Process ();
- alProcess.StartInfo.Arguments = clbe.ToString ();
- alProcess.StartInfo.FileName = GenerateFullPathToTool ();
- alProcess.Start ();
- alProcess.WaitForExit ();
- return true;
+ return base.Execute ();
}
protected override string GenerateFullPathToTool ()
{
- return Path.Combine (ToolPath, ToolName);
+ if (!string.IsNullOrEmpty (ToolPath))
+ return Path.Combine (ToolPath, ToolExe);
+ return ToolLocationHelper.GetPathToDotNetFrameworkFile (ToolExe, TargetDotNetFrameworkVersion.VersionLatest);
}
public string AlgorithmId {
}
protected override string ToolName {
- get {
- return "al";
- }
+ get { return "al.exe"; }
}
public string Trademark {
}
}
-#endif
\ No newline at end of file