Skip to content

Commit 10ee428

Browse files
committed
Improve test object helper with assembly resolver
1 parent 74ffd69 commit 10ee428

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

MetadataProcessor.Tests/TestObjectHelper.cs

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System.Collections.Generic;
88
using System.IO;
99
using System.Linq;
10+
using System.Runtime.CompilerServices;
1011
using System.Text;
1112
using Mono.Cecil;
1213

@@ -213,30 +214,28 @@ public static AssemblyDefinition GetTestNFAppAssemblyDefinition()
213214
{
214215
AssemblyDefinition ret = null;
215216

216-
ret = AssemblyDefinition.ReadAssembly(TestNFAppFullPath);
217+
ret = AssemblyDefinition.ReadAssembly(
218+
TestNFAppFullPath,
219+
new ReaderParameters { AssemblyResolver = ProvideLoadHints() });
217220

218221
return ret;
219222
}
220223

221224
public static AssemblyDefinition GetTestNFAppAssemblyDefinitionWithLoadHints()
222225
{
223-
IDictionary<string, string> loadHints = new Dictionary<string, string>(StringComparer.Ordinal)
224-
{
225-
["mscorlib"] = GetmscorlibAssemblyDefinition().MainModule.FileName,
226-
["TestNFClassLibrary"] = GetTestNFClassLibraryDefinition().MainModule.FileName
227-
};
228-
229226
return AssemblyDefinition.ReadAssembly(
230227
TestNFAppFullPath,
231-
new ReaderParameters { AssemblyResolver = new LoadHintsAssemblyResolver(loadHints) });
228+
new ReaderParameters { AssemblyResolver = ProvideLoadHints() });
232229
}
233230

234231

235232
public static AssemblyDefinition GetTestNFClassLibraryDefinition()
236233
{
237234
AssemblyDefinition ret = null;
238235

239-
ret = AssemblyDefinition.ReadAssembly(TestNFClassLibFullPath);
236+
ret = AssemblyDefinition.ReadAssembly(
237+
TestNFClassLibFullPath,
238+
new ReaderParameters { AssemblyResolver = ProvideLoadHints() });
240239

241240
return ret;
242241
}
@@ -485,5 +484,13 @@ internal static MethodDefinition GetMethodDefinition(
485484
public static string NanoClrLocalInstance => Environment.GetEnvironmentVariable(
486485
_varNameForLocalNanoCLRInstancePath,
487486
EnvironmentVariableTarget.Process);
487+
488+
private static DefaultAssemblyResolver ProvideLoadHints()
489+
{
490+
var resolver = new DefaultAssemblyResolver();
491+
resolver.AddSearchDirectory(TestExecutionLocation);
492+
493+
return resolver;
494+
}
488495
}
489496
}

0 commit comments

Comments
 (0)