Correctly handle precedence of ToolsVersion value coming
from various points.
In class/Microsoft.Build.Engine:
* Microsoft.Build.Engine.dll.sources: Add
UnknownToolsVersionException.cs
In class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine:
Correctly handle precedence of ToolsVersion value coming
from various points.
* BuildEngine.cs (BuildProjectFile): Restore project.ToolsVersion .
* Engine.cs: Likewise. Also validate DefaultToolsVersion .
* Project.cs: Handle invalid tools version specified in the project
file, and fall back to engine's version.
* MSBuild.cs: Fix the precedence order, and validate.
* UnknownToolsVersionException.cs: New.
In class/Microsoft.Build.Tasks:
* Microsoft.Build.Tasks.dll.sources: Use
UnknownToolsVersionException.cs from Engine.
In class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks:
* MessageTest (TestExecution): Additional messages with 'low'
importance get emitted, so don't expect sequential messages.
In tools/xbuild:
* Main.cs: Use tools version specified on the command line, if
any.
* xbuild.exe.sources: Include UnknownToolsVersionException.cs from
MS.B.Engine
svn path=/trunk/mcs/; revision=160133
15 files changed: