diff --git a/InjectModuleInitializer.csproj b/InjectModuleInitializer.csproj index c156ea8..f37ac51 100644 --- a/InjectModuleInitializer.csproj +++ b/InjectModuleInitializer.csproj @@ -4,7 +4,7 @@ Exe EinarEgilsson.Utilities.InjectModuleInitializer InjectModuleInitializer - net35 + net40 *.binlog;Test\**\*.*;nuget\**\*.* false true @@ -26,8 +26,8 @@ - - + + diff --git a/Injector.cs b/Injector.cs index dcb0262..e2d83c1 100644 --- a/Injector.cs +++ b/Injector.cs @@ -88,12 +88,16 @@ private void InjectInitializer(MethodReference callee) private void WriteAssembly(string assemblyFile, string keyfile) { Debug.Assert(Assembly != null); - var writeParams = new WriterParameters(); + var writeParams = new WriterParameters() + { + WriteSymbols = true, // this takes care of embedded Portable PDB + }; + if (PdbFile(assemblyFile) != null) { - writeParams.WriteSymbols = true; writeParams.SymbolWriterProvider = new PdbWriterProvider(); } + if (keyfile != null) { writeParams.StrongNameKeyPair = new StrongNameKeyPair(File.ReadAllBytes(keyfile)); @@ -106,19 +110,20 @@ private void ReadAssembly(string assemblyFile) Debug.Assert(Assembly == null); var resolver = new DefaultAssemblyResolver(); - resolver.AddSearchDirectory(Path.GetDirectoryName(assemblyFile)); + resolver.AddSearchDirectory(Path.GetDirectoryName(assemblyFile)); + + var readParams = new ReaderParameters(ReadingMode.Immediate) + { + AssemblyResolver = resolver, + InMemory = true, + ReadSymbols = true, // this takes care of embedded Portable PDB + }; - var readParams = new ReaderParameters(ReadingMode.Immediate) - { - AssemblyResolver = resolver, - InMemory = true - }; - if (PdbFile(assemblyFile) != null) { - readParams.ReadSymbols = true; readParams.SymbolReaderProvider = new PdbReaderProvider(); } + Assembly = AssemblyDefinition.ReadAssembly(assemblyFile, readParams); }