[xbuild] Fix building with 2.0 toolset, take 2
authorMichael Hutchinson <m.j.hutchinson@gmail.com>
Thu, 3 Apr 2014 19:37:55 +0000 (15:37 -0400)
committerMichael Hutchinson <m.j.hutchinson@gmail.com>
Fri, 4 Apr 2014 20:37:00 +0000 (16:37 -0400)
BXC18794 - Error executing task Csc with 2.0 toolset since Mono 3.4.0

mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/GetFrameworkPath.cs
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TargetDotNetFrameworkVersion.cs
mcs/tools/xbuild/data/2.0/Microsoft.Common.targets

index cbb5fd6d05233d7831d971ecb1376b864f34cb23..25c04e1aab33037a5e50658e47050579161581ca 100644 (file)
@@ -110,10 +110,12 @@ namespace Microsoft.Build.BuildEngine {
                {
                        Toolsets.Add (new Toolset ("2.0",
                                                ToolLocationHelper.GetPathToDotNetFramework (TargetDotNetFrameworkVersion.Version20)));
+#if NET_3_5
                        Toolsets.Add (new Toolset ("3.0",
                                                ToolLocationHelper.GetPathToDotNetFramework (TargetDotNetFrameworkVersion.Version30)));
                        Toolsets.Add (new Toolset ("3.5",
                                                ToolLocationHelper.GetPathToDotNetFramework (TargetDotNetFrameworkVersion.Version35)));
+#endif
 #if NET_4_0
                        Toolsets.Add (new Toolset ("4.0",
                                                ToolLocationHelper.GetPathToDotNetFramework (TargetDotNetFrameworkVersion.Version40)));
index 452d8c0600868d78ffa4ab7075776192c9b7f60d..3ab6979ef9a0af4ed6a55cf04f6c7b3eb97f8ee2 100644 (file)
@@ -55,6 +55,7 @@ namespace Microsoft.Build.Tasks {
                        }
                }
 
+#if NET_3_5
                [Output]
                public string FrameworkVersion11Path {
                        get {
@@ -86,6 +87,7 @@ namespace Microsoft.Build.Tasks {
                                                TargetDotNetFrameworkVersion.Version35);
                        }
                }
+#endif
 
 #if NET_4_0
                [Output]
index 04940d5e8badbdce51fbf6219c40685962021d7d..8b667ced1ba6ecee695aa67cfd269be4a91bbcc6 100644 (file)
@@ -40,8 +40,10 @@ namespace Microsoft.Build.Utilities
        {
                Version11,
                Version20,
+#if NET_3_5
                Version30,
                Version35,
+#endif
 #if NET_4_0
                Version40,
 #endif
@@ -58,8 +60,10 @@ namespace Microsoft.Build.Utilities
                VersionLatest = Version45
 #elif NET_4_0
                VersionLatest = Version40
-#else
+#elif NET_3_5
                VersionLatest = Version35
+#else
+               VersionLatest = Version20
 #endif
        }
 }
index fef699031c685585f7b345cf04e17e22d85935bc..31fd0bc580a611201908f7868b38314c7f51f0eb 100644 (file)
        </PropertyGroup>
        <Target Name="GetFrameworkPaths" DependsOnTargets="$(GetFrameworkPathsDependsOn)">
                <GetFrameworkPath>
-                       <Output Condition="'$(TargetFrameworkVersion)' == 'v3.5'"
-                               TaskParameter="FrameworkVersion35Path"
-                               ItemName="_CombinedTargetFrameworkDirectoriesItem"/>
-                       <Output Condition="'$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5'"
-                               TaskParameter="FrameworkVersion30Path"
-                               ItemName="_CombinedTargetFrameworkDirectoriesItem"/>
-                       <Output Condition="'$(TargetFrameworkVersion)' == 'v2.0' or '$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5'"
-                               TaskParameter="FrameworkVersion20Path"
+                       <Output
+                               TaskParameter="Path"
                                ItemName="_CombinedTargetFrameworkDirectoriesItem"/>
                </GetFrameworkPath>
                <CreateProperty Value="@(_CombinedTargetFrameworkDirectoriesItem)">
                </CreateProperty>
 
                <Warning Text="TargetFrameworkVersion '$(TargetFrameworkVersion)' not supported by this toolset (ToolsVersion: $(MSBuildToolsVersion))."
-                       Condition="'$(TargetFrameworkVersion)' != 'v3.5' and '$(TargetFrameworkVersion)' != 'v3.0' and '$(TargetFrameworkVersion)' != 'v2.0'"/>
+                       Condition="'$(TargetFrameworkVersion)' != 'v2.0'"/>
        </Target>
 
        <PropertyGroup>