MSBuild で MSBuild タスクを使う際に、Properties に接続文字列等が使えない?

ハマってます。

Test.proj

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Test">
    <MSBuild Projects="$(MSBuildProjectFile)" Targets="MSG" 
             Properties="MSG_1=ABC;MSG_2=&quot;Data Source=local;Initial Catalog=Test;User ID=sa;Password=password&quot;" />
  </Target>
  <Target Name="MSG">
    <Message Text="$(MSG_1)_$(MSG_2)" />
  </Target>
</Project>

な感じの プロジェクトファイルでコマンドプロンプトから、MSBuild タスクを使用する タスクを呼び出した場合エラーになる。

MSBuild Test.proj

でも、MSBuild タスクを使用せずにコマンドプロンプトから直接指定するとエラーにならない。

MSBuild Test.proj /t:MSG /p:MSG_1=ABC;MSG_2="Data Source=local;Initial Catalog=Test;User ID=sa;Password=password"


MSBuild タスク内の Properties の解析部分で、ダブルクォーテーションで囲まれてるのが考慮されていないのかな?
MSDN MSBuild タスク を見ると、MSBuild タスクの Properties プロパティはの指定の仕方は、<プロパティ名>=<値> を";"(セミコロン) で区切る。
これが、接続文字列の形式と同じなんだよな〜、さてどうしたら良いものか…。