Research Assembly Setting!

 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
posted on 2008-03-26 15:58  zencorn  阅读(173)  评论(0编辑  收藏  举报