public VSMSDeployObject(Build.Framework.ITaskItem taskItem) { Diagnostics.Debug.Assert(taskItem != null); m_provider = taskItem.ItemSpec; m_root = taskItem.GetMetadata("Path"); if (string.IsNullOrEmpty(m_root)) { m_root = string.Empty; } // our code path should only take a well known provider Diagnostics.Debug.Assert(MsDeploy.Utility.IsDeploymentWellKnownProvider(m_provider)); // maybe we should show the "secure data to display" // for now just supress it. if (0 == string.Compare(m_provider, MSWebDeploymentAssembly.DynamicAssembly.GetEnumValue(MSDeploy.TypeName.DeploymentWellKnownProvider, MSDeploy.Provider.DBFullSql).ToString(), System.StringComparison.OrdinalIgnoreCase)) { m_fNoDisplayRoot = true; } m_NameValueDictionary.Clear(); foreach (string name in taskItem.MetadataNames) { if (!MsDeploy.Utility.IsInternalMsdeployWellKnownItemMetadata(name)) { string value = taskItem.GetMetadata(name); if (!string.IsNullOrEmpty(value)) { if (MsDeploy.Utility.IsMsDeployWellKnownLocationInfo(name)) { m_NameValueDictionary.Add(name, value); } else { // these are provider option this.SetProviderOption(m_provider, name, value); } } } else { MsDeploy.Utility.IISExpressMetadata expressMetadata; if (System.Enum.TryParse <MsDeploy.Utility.IISExpressMetadata>(name, out expressMetadata)) { string value = taskItem.GetMetadata(name); if (!string.IsNullOrEmpty(value)) { m_NameValueDictionary.Add(expressMetadata.ToString(), value); } } } } }
public VSMSDeployObject(Build.Framework.ITaskItem taskItem, bool fNoDisplayRoot) : this(taskItem) { m_fNoDisplayRoot = fNoDisplayRoot; }
/// <summary> /// Create a object base on msbuild task item /// </summary> /// <param name="taskItem"></param> /// <returns></returns> public static VSMSDeployObject CreateVSMSDeployObject(Build.Framework.ITaskItem taskItem) { VSMSDeployObject src = new VSMSDeployObject(taskItem); return(src); }