public BuildSpecialSdk() { _version = null; _assemblyDir = String.Empty; _commentDir = String.Empty; _specialSdkType = BuildSpecialSdkType.Null; }
/// <summary> /// This reads and sets its state or attributes stored in a <c>XML</c> format /// with the given reader. /// </summary> /// <param name="reader"> /// The reader with which the <c>XML</c> attributes of this object are accessed. /// </param> /// <exception cref="ArgumentNullException"> /// If the <paramref name="reader"/> is <see langword="null"/>. /// </exception> public override void ReadXml(XmlReader reader) { BuildExceptions.NotNull(reader, "reader"); Debug.Assert(reader.NodeType == XmlNodeType.Element); if (reader.NodeType != XmlNodeType.Element) { return; } if (!String.Equals(reader.Name, TagName, StringComparison.OrdinalIgnoreCase)) { Debug.Assert(false, String.Format( "The element name '{0}' does not match the expected '{1}'.", reader.Name, TagName)); return; } string tempText = reader.GetAttribute("type"); if (!String.IsNullOrEmpty(tempText)) { _specialSdkType = BuildSpecialSdkType.Parse(tempText); } if (reader.IsEmptyElement) { return; } while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name.ToLower()) { case "version": _version = new Version(reader.ReadString()); break; case "assemblyDir": _assemblyDir = reader.ReadString(); break; case "commentDir": _commentDir = reader.ReadString(); break; } } else if (reader.NodeType == XmlNodeType.EndElement) { if (String.Equals(reader.Name, TagName, StringComparison.OrdinalIgnoreCase)) { break; } } } }
public BuildSpecialSdk(BuildSpecialSdk source) : base(source) { _version = source._version; _assemblyDir = source._assemblyDir; _commentDir = source._commentDir; _specialSdkType = source._specialSdkType; }
public BuildSpecialSdk(BuildSpecialSdkType sdkType, Version version, string assemblyDir, string commentDir) { BuildExceptions.NotNull(version, "version"); BuildExceptions.PathMustExist(assemblyDir, "assemblyDir"); BuildExceptions.PathMustExist(commentDir, "commentDir"); _version = version; _assemblyDir = assemblyDir; _commentDir = commentDir; _specialSdkType = sdkType; }
private static void AddWebMvcSdk(string assembliesDir, BuildSpecialSdkType sdkType, BuildList <BuildSpecialSdk> installedSdks) { if (!Directory.Exists(assembliesDir) || DirectoryUtils.IsDirectoryEmpty(assembliesDir)) { return; } string assemblyFile = Path.Combine(assembliesDir, "System.Web.Mvc.dll"); string commentFile = Path.Combine(assembliesDir, "System.Web.Mvc.xml"); // The ASP.NET MVC 4 has several assemblies, but these include // the main assembly System.Web.Mvc.dll. if (File.Exists(assemblyFile) && File.Exists(commentFile)) { Version version = null; switch (sdkType.Value) { case 10: version = new Version(1, 0, 0, 0); break; case 20: version = new Version(2, 0, 0, 0); break; case 30: version = new Version(3, 0, 0, 0); break; case 40: version = new Version(4, 0, 0, 0); break; } if (version == null) { return; } BuildSpecialSdk specialSdk = new BuildSpecialSdk( sdkType, version, assembliesDir, assembliesDir); installedSdks.Add(specialSdk); } }
public static BuildSpecialSdk GetSdk(BuildSpecialSdkType type, BuildFrameworkKind frameworkKind) { IList <BuildSpecialSdk> specialSdks = null; switch (type.Kind) { case BuildSpecialSdkKind.Blend: if (frameworkKind == BuildFrameworkKind.DotNet) { specialSdks = BuildSpecialSdks.InstalledBlendWpfSdks; } else if (frameworkKind == BuildFrameworkKind.Silverlight) { specialSdks = BuildSpecialSdks.InstalledBlendSilverlightSdks; } break; case BuildSpecialSdkKind.WebMvc: specialSdks = BuildSpecialSdks.InstalledWebMvcSdks; break; } if (specialSdks == null || specialSdks.Count == 0) { return(null); } for (int i = 0; i < specialSdks.Count; i++) { BuildSpecialSdk specialSdk = specialSdks[i]; if (specialSdk.SdkType == type) { return(specialSdk); } } return(null); }