コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }