Browse Source

Fix Tester.DecompileCSharp

pull/1198/head
Siegfried Pammer 7 years ago
parent
commit
95d256e875
  1. 2
      ICSharpCode.Decompiler.Tests/Helpers/Tester.cs
  2. 7
      ICSharpCode.Decompiler/Metadata/Dom.cs
  3. 2
      ICSharpCode.Decompiler/Metadata/UniversalAssemblyResolver.cs

2
ICSharpCode.Decompiler.Tests/Helpers/Tester.cs

@ -377,7 +377,7 @@ namespace ICSharpCode.Decompiler.Tests.Helpers @@ -377,7 +377,7 @@ namespace ICSharpCode.Decompiler.Tests.Helpers
public static string DecompileCSharp(string assemblyFileName, DecompilerSettings settings = null)
{
using (var module = Mono.Cecil.ModuleDefinition.ReadModule(assemblyFileName)) {
using (var module = Metadata.UniversalAssemblyResolver.LoadMainModule(assemblyFileName)) {
var typeSystem = new DecompilerTypeSystem(module);
CSharpDecompiler decompiler = new CSharpDecompiler(typeSystem, settings ?? new DecompilerSettings());
decompiler.AstTransforms.Insert(0, new RemoveEmbeddedAtttributes());

7
ICSharpCode.Decompiler/Metadata/Dom.cs

@ -87,7 +87,7 @@ namespace ICSharpCode.Decompiler.Metadata @@ -87,7 +87,7 @@ namespace ICSharpCode.Decompiler.Metadata
Net_4_0
}
public class PEFile
public class PEFile : IDisposable
{
public string FileName { get; }
public PEReader Reader { get; }
@ -156,6 +156,11 @@ namespace ICSharpCode.Decompiler.Metadata @@ -156,6 +156,11 @@ namespace ICSharpCode.Decompiler.Metadata
yield return new Resource(this, h);
}
}
public void Dispose()
{
Reader.Dispose();
}
}
public enum ResourceType

2
ICSharpCode.Decompiler/Metadata/UniversalAssemblyResolver.cs

@ -61,7 +61,7 @@ namespace ICSharpCode.Decompiler.Metadata @@ -61,7 +61,7 @@ namespace ICSharpCode.Decompiler.Metadata
{
var resolver = new UniversalAssemblyResolver(mainAssemblyFileName, throwOnError);
var module = new PEReader(new FileStream(mainAssemblyFileName, FileMode.Open), inMemory ? PEStreamOptions.PrefetchEntireImage : PEStreamOptions.Default);
var module = new PEReader(new FileStream(mainAssemblyFileName, FileMode.Open, FileAccess.Read), inMemory ? PEStreamOptions.PrefetchEntireImage : PEStreamOptions.Default);
resolver.TargetFramework = module.DetectTargetFrameworkId();

Loading…
Cancel
Save