public static ModuleDefinition LoadMainModule(string mainAssemblyFileName, bool throwOnError = true, bool inMemory = false) { var resolver = new UniversalAssemblyResolver(mainAssemblyFileName, throwOnError); var module = ModuleDefinition.ReadModule(mainAssemblyFileName, new ReaderParameters { AssemblyResolver = resolver, InMemory = inMemory }); resolver.TargetFramework = module.Assembly.DetectTargetFrameworkId(); return(module); }
internal string GetReferenceAssemblyPath(string targetFramework) { var tfi = UniversalAssemblyResolver.ParseTargetFramework(targetFramework, out var version); string identifier, identifierExt; switch (tfi) { case UniversalAssemblyResolver.TargetFrameworkIdentifier.NETCoreApp: identifier = "Microsoft.NETCore.App"; identifierExt = "netcoreapp" + version.Major + "." + version.Minor; break; case UniversalAssemblyResolver.TargetFrameworkIdentifier.NETStandard: identifier = "NETStandard.Library"; identifierExt = "netstandard" + version.Major + "." + version.Minor; break; default: throw new NotSupportedException(); } return(Path.Combine(dotnetBasePath, "packs", identifier + ".Ref", version.ToString(), "ref", identifierExt)); }