1 public static void InitTestAssembly(TestContext context)
2 {
3 if (AssemblyResolver.referencePaths != null)
4 {
5 // already initialized
6 return;
7 }
8
9 AssemblyResolver.referencePaths = new List<string>();
10
11 // setup assembly resolver
12 string referencePath = System.Configuration.ConfigurationManager.AppSettings["ReferencePath"];
13
14 if (referencePath != null)
15 {
16 // paths should be semi-colon delimited
17 string[] paths = referencePath.Split(';');
18
19 foreach (string path in paths)
20 {
21 string fullPath = System.Environment.ExpandEnvironmentVariables(path);
22
23 if (!Path.IsPathRooted(fullPath))
24 {
25 // make all relative paths relative to this file
26 string myAssembly = System.Reflection.Assembly.GetExecutingAssembly().Location;
27 string myPath = Path.GetDirectoryName(myAssembly);
28
29 fullPath = Path.GetFullPath(Path.Combine(myPath, fullPath));
30 }
31
32 referencePaths.Add(fullPath);
33 }
34 }
35
36 // hook up our ResolveAssembly method in the app domain
37 AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(ResolveAssembly);
38 }
39
2 {
3 if (AssemblyResolver.referencePaths != null)
4 {
5 // already initialized
6 return;
7 }
8
9 AssemblyResolver.referencePaths = new List<string>();
10
11 // setup assembly resolver
12 string referencePath = System.Configuration.ConfigurationManager.AppSettings["ReferencePath"];
13
14 if (referencePath != null)
15 {
16 // paths should be semi-colon delimited
17 string[] paths = referencePath.Split(';');
18
19 foreach (string path in paths)
20 {
21 string fullPath = System.Environment.ExpandEnvironmentVariables(path);
22
23 if (!Path.IsPathRooted(fullPath))
24 {
25 // make all relative paths relative to this file
26 string myAssembly = System.Reflection.Assembly.GetExecutingAssembly().Location;
27 string myPath = Path.GetDirectoryName(myAssembly);
28
29 fullPath = Path.GetFullPath(Path.Combine(myPath, fullPath));
30 }
31
32 referencePaths.Add(fullPath);
33 }
34 }
35
36 // hook up our ResolveAssembly method in the app domain
37 AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(ResolveAssembly);
38 }
39