public static ReaderParameters ReaderParameters(string assemblyPath, IEnumerable <string> extraPaths, IAssemblyResolver assemblyResolver, string unityEngineDLLPath, string unityUNetDLLPath) { var parameters = new ReaderParameters() { ReadWrite = true }; if (assemblyResolver == null) { assemblyResolver = new DefaultAssemblyResolver(); } var helper = new AddSearchDirectoryHelper(assemblyResolver); helper.AddSearchDirectory(Path.GetDirectoryName(assemblyPath)); helper.AddSearchDirectory(Helpers.UnityEngineDLLDirectoryName()); helper.AddSearchDirectory(Path.GetDirectoryName(unityEngineDLLPath)); helper.AddSearchDirectory(Path.GetDirectoryName(unityUNetDLLPath)); if (extraPaths != null) { foreach (var path in extraPaths) { helper.AddSearchDirectory(path); } } parameters.AssemblyResolver = assemblyResolver; parameters.SymbolReaderProvider = GetSymbolReaderProvider(assemblyPath); return(parameters); }
public static ReaderParameters ReaderParameters(string assemblyPath, IEnumerable <string> extraPaths, IAssemblyResolver assemblyResolver, string unityEngineDLLPath, string unityUNetDLLPath) { ReaderParameters readerParameters = new ReaderParameters(); if (assemblyResolver == null) { assemblyResolver = new DefaultAssemblyResolver(); } Helpers.AddSearchDirectoryHelper addSearchDirectoryHelper = new Helpers.AddSearchDirectoryHelper(assemblyResolver); addSearchDirectoryHelper.AddSearchDirectory(Path.GetDirectoryName(assemblyPath)); addSearchDirectoryHelper.AddSearchDirectory(Helpers.UnityEngineDLLDirectoryName()); addSearchDirectoryHelper.AddSearchDirectory(Path.GetDirectoryName(unityEngineDLLPath)); addSearchDirectoryHelper.AddSearchDirectory(Path.GetDirectoryName(unityUNetDLLPath)); if (extraPaths != null) { foreach (string current in extraPaths) { addSearchDirectoryHelper.AddSearchDirectory(current); } } readerParameters.AssemblyResolver = assemblyResolver; readerParameters.SymbolReaderProvider = Helpers.GetSymbolReaderProvider(assemblyPath); return(readerParameters); }