本文整理汇总了C#中AssemblyResolver.TryResolve方法的典型用法代码示例。如果您正苦于以下问题:C# AssemblyResolver.TryResolve方法的具体用法?C# AssemblyResolver.TryResolve怎么用?C# AssemblyResolver.TryResolve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AssemblyResolver
的用法示例。
在下文中一共展示了AssemblyResolver.TryResolve方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadAssemblies
IEnumerable<IUnresolvedAssembly> LoadAssemblies()
{
var resolver = new AssemblyResolver();
foreach (var path in fileNames.Select(f => Path.GetDirectoryName(f)).Distinct(StringComparer.OrdinalIgnoreCase))
resolver.AddSearchDirectory(path);
List<AssemblyDefinition> assemblies = new List<AssemblyDefinition>();
foreach (var file in fileNames.Distinct(StringComparer.OrdinalIgnoreCase))
assemblies.Add(resolver.LoadAssemblyFile(file));
foreach (var asm in assemblies.ToArray())
assemblies.AddRange(asm.Modules.SelectMany(m => m.AssemblyReferences).Select(r => resolver.TryResolve(r)).Where(r => r != null));
return assemblies.Distinct().Select(asm => loader.LoadAssembly(asm));
}
示例2: LoadAssemblies
IList<IUnresolvedAssembly> LoadAssemblies()
{
var resolver = new AssemblyResolver();
foreach (var path in fileNames.Select(f => Path.GetDirectoryName(f)).Distinct(StringComparer.OrdinalIgnoreCase))
resolver.AddSearchDirectory(path);
List<AssemblyDefinition> assemblies = new List<AssemblyDefinition>();
foreach (var file in fileNames.Distinct(StringComparer.OrdinalIgnoreCase))
assemblies.Add(resolver.LoadAssemblyFile(file));
foreach (var asm in assemblies.ToArray())
assemblies.AddRange(asm.Modules.SelectMany(m => m.AssemblyReferences).Select(r => resolver.TryResolve(r)).Where(r => r != null));
CecilLoader loader = new CecilLoader { IncludeInternalMembers = true };
// Emulate the old CecilLoader.GetCecilObject() API:
loader.OnEntityLoaded = delegate(IUnresolvedEntity entity, MemberReference cecilObj) {
unresolvedTypeSystemToCecilDict[entity] = cecilObj;
};
var loadedAssemblies = new List<IUnresolvedAssembly>();
foreach (var asm in assemblies.Distinct()) {
var loadedAssembly = loader.LoadAssembly(asm);
loadedAssemblies.Add(loadedAssembly);
unresolvedTypeSystemToCecilDict[loadedAssembly] = asm;
}
return loadedAssemblies;
}