Hello, I've noticed that xbuild tries to load System.dll from 2.1 profile and will often fail to build target projects because it in general targets 2.0. The attached hacky patch is to avoid such unexpected version mismatch.
(If we really need to load 2.1 System.dll in the future, building MS.Build.Tasks under 2.1 profile will solve it.) Atsushi Eno
Index: Microsoft.Build.Tasks/AssemblyResolver.cs =================================================================== --- Microsoft.Build.Tasks/AssemblyResolver.cs (ãªãã¸ã§ã³ 96527) +++ Microsoft.Build.Tasks/AssemblyResolver.cs (ä½æ¥ã³ãã¼) @@ -80,6 +80,8 @@ if (!gac.ContainsKey (assembly_info.Name)) gac.Add (assembly_info.Name, new Dictionary <Version, string> ()); + if (gac [assembly_info.Name].ContainsKey (version)) + throw new Exception (String.Format ("{0} for {1} alraedy exists", file, version)); gac [assembly_info.Name].Add (version, file); } } @@ -130,6 +132,10 @@ dic [name.Name].Keys.CopyTo (versions, 0); Array.Sort (versions, (IComparer <Version>) null); Version highest = versions [versions.Length - 1]; +#if !NET_2_1 + if (name.Name.StartsWith ("System") && highest == new Version (2, 1, 0, 0)) + highest = versions [versions.Length - 2]; +#endif return dic [name.Name] [highest]; }
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list