Ejemplo n.º 1
0
        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);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public VSMSDeployObject(Build.Framework.ITaskItem taskItem, bool fNoDisplayRoot)
     : this(taskItem)
 {
     m_fNoDisplayRoot = fNoDisplayRoot;
 }
Ejemplo n.º 3
0
        /// <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);
        }