private AssemblyClone InternalLoad(string path) { var assembly = Assembly.Load(AssemblyName.GetAssemblyName(path)); var clone = new AssemblyClone(assembly); return(clone); }
private AssemblyClone InternalLoad(AssemblyName assemblyName) { var assembly = Assembly.Load(assemblyName); var clone = new AssemblyClone(assembly); return(clone); }
public static string GetFrameworkVersion(this AssemblyClone assembly) { // .NETFramework,Version=v4.0 var framework = assembly.GetFramework(); var version = framework.RegexGet(@".*?(?<version>\d+\.?\d*)", "version"); return(version); }
public static string GetGACLocation(this AssemblyClone assembly) { // Hydra.DesktopDebuggingAgent\v4.0_1.0.0.0__4c46114699850d44 var parts = assembly.GetNameParts(); var frameworkVersion = assembly.GetFrameworkVersion(); var fileName = Path.GetFileName(assembly.Location); var path = Path.Combine(@"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\", string.Format(@"{0}\v{1}_{2}__{3}", parts.AssemblyName, frameworkVersion, parts.Version, parts.PublicKeyToken), fileName); return(path); }
public static string GetGACFolder(this AssemblyClone assembly) { // Hydra.DesktopDebuggingAgent\v4.0_1.0.0.0__4c46114699850d44 var parts = assembly.GetNameParts(); var frameworkVersion = assembly.GetFrameworkVersion(); var fileName = Path.GetFileName(assembly.Location); var path = string.Format(@"{0}\v{1}_{2}__{3}", parts.AssemblyName, frameworkVersion, parts.Version, parts.PublicKeyToken); return(path); }
public static XDocument ToXml(this AssemblyClone assembly) { var serializer = XmlSerializer.FromTypes(new Type[] { typeof(AssemblyClone) })[0]; var document = new XmlDocument(); var memoryStream = new MemoryStream(); serializer.Serialize(memoryStream, assembly); memoryStream.Seek(0, SeekOrigin.Begin); return(XDocument.Load(memoryStream)); }
public static string GetFramework(this AssemblyClone assembly) { var frameworkName = string.Empty; var frameworkDisplayName = string.Empty; var customAttributes = assembly.GetCustomAttributesData(); var targetFramework = customAttributes.FirstOrDefault(a => (a as dynamic).AttributeType == typeof(TargetFrameworkAttribute)); if (null != targetFramework) { if (targetFramework.ConstructorArguments.Any()) { frameworkName = (string)targetFramework.ConstructorArguments[0].Value; return(frameworkName); } } return(null); }