Author: brett Date: Thu Mar 7 06:16:58 2013 New Revision: 1453698 URL: http://svn.apache.org/r1453698 Log: [NPANDAY-578] fix determination of framework versions
This will attempt to discover them in both v4.0 and v2.0 Microsoft.Build libraries, so we need to make sure it doesn't throw an exception looking for newer versions in old libraries and instead just skips them. Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs?rev=1453698&r1=1453697&r2=1453698&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs Thu Mar 7 06:16:58 2013 @@ -1015,15 +1015,19 @@ namespace NPanday.ProjectImporter.Conver log.DebugFormat("Using ToolLocationHelper from {0}; TargetDotNetFrameworkVersion from {1}", helperType.Assembly.GetName(), versionType.Assembly.GetName()); - string value = (string)helperType.InvokeMember(method, - System.Reflection.BindingFlags.InvokeMethod, System.Type.DefaultBinder, "", - new object[] { Enum.Parse(versionType, version) }); - - log.DebugFormat("Adding target directory {0} = {1}", key, value); - if (!string.IsNullOrEmpty(value)) + if (Enum.IsDefined(versionType, version)) { - directories.Add(key, value); - found = true; + string value = (string)helperType.InvokeMember(method, + System.Reflection.BindingFlags.InvokeMethod, System.Type.DefaultBinder, "", + new object[] { Enum.Parse(versionType, version) }); + + log.DebugFormat("Adding target directory {0} = {1}", key, value); + if (!string.IsNullOrEmpty(value)) + { + directories.Add(key, value); + found = true; + break; + } } } }