Skip to content

Commit 2b2533a

Browse files
Merge pull request #1 from matherm-aboehm/pr/24-preserve-portable-pdb-embedded-in-the-dll-update-the-dependencies-to
Preserve Portable PDB embedded in the DLL. Update the dependencies to the latest.
2 parents e08ca86 + 5cff338 commit 2b2533a

2 files changed

Lines changed: 18 additions & 13 deletions

File tree

InjectModuleInitializer.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<OutputType>Exe</OutputType>
55
<RootNamespace>EinarEgilsson.Utilities.InjectModuleInitializer</RootNamespace>
66
<AssemblyName>InjectModuleInitializer</AssemblyName>
7-
<TargetFramework>net35</TargetFramework>
7+
<TargetFramework>net40</TargetFramework>
88
<DefaultItemExcludes>*.binlog;Test\**\*.*;nuget\**\*.*</DefaultItemExcludes>
99
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
1010
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
@@ -26,8 +26,8 @@
2626
</PropertyGroup>
2727

2828
<ItemGroup>
29-
<PackageReference Include="Mono.Cecil" Version="0.10.0" PrivateAssets="all" />
30-
<PackageReference Include="GitInfo" Version="2.0.10" PrivateAssets="all" />
29+
<PackageReference Include="Mono.Cecil" Version="0.11.4" PrivateAssets="all" />
30+
<PackageReference Include="GitInfo" Version="2.2.0" PrivateAssets="all" />
3131
</ItemGroup>
3232

3333
<ItemGroup>

Injector.cs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,16 @@ private void InjectInitializer(MethodReference callee)
8888
private void WriteAssembly(string assemblyFile, string keyfile)
8989
{
9090
Debug.Assert(Assembly != null);
91-
var writeParams = new WriterParameters();
91+
var writeParams = new WriterParameters()
92+
{
93+
WriteSymbols = true, // this takes care of embedded Portable PDB
94+
};
95+
9296
if (PdbFile(assemblyFile) != null)
9397
{
94-
writeParams.WriteSymbols = true;
9598
writeParams.SymbolWriterProvider = new PdbWriterProvider();
9699
}
100+
97101
if (keyfile != null)
98102
{
99103
writeParams.StrongNameKeyPair = new StrongNameKeyPair(File.ReadAllBytes(keyfile));
@@ -106,19 +110,20 @@ private void ReadAssembly(string assemblyFile)
106110
Debug.Assert(Assembly == null);
107111

108112
var resolver = new DefaultAssemblyResolver();
109-
resolver.AddSearchDirectory(Path.GetDirectoryName(assemblyFile));
113+
resolver.AddSearchDirectory(Path.GetDirectoryName(assemblyFile));
114+
115+
var readParams = new ReaderParameters(ReadingMode.Immediate)
116+
{
117+
AssemblyResolver = resolver,
118+
InMemory = true,
119+
ReadSymbols = true, // this takes care of embedded Portable PDB
120+
};
110121

111-
var readParams = new ReaderParameters(ReadingMode.Immediate)
112-
{
113-
AssemblyResolver = resolver,
114-
InMemory = true
115-
};
116-
117122
if (PdbFile(assemblyFile) != null)
118123
{
119-
readParams.ReadSymbols = true;
120124
readParams.SymbolReaderProvider = new PdbReaderProvider();
121125
}
126+
122127
Assembly = AssemblyDefinition.ReadAssembly(assemblyFile, readParams);
123128
}
124129

0 commit comments

Comments
 (0)