Así que el problema es con el encadenamiento de variables por algún motivo en msbuild. Lo siguiente funciona para mí, observe que solo debo usar rutas relativas basadas en la variable MSBuildProjectDirectory.
<CreateItem Include="$(MSBuildProjectDirectory)\..\Client\Web\Foo.Web.UI\**\*.*"
Exclude="$(MSBuildProjectDirectory)\..\Client\Web\Foo.Web.UI\**\.svn\**">
<Output TaskParameter="Include" ItemName="WebFiles" />
</CreateItem>
El siguiente no funciona:
<PropertyGroup>
<WebProjectDir>$(MSBuildProjectDirectory)\..\Client\Web\Foo.Web.UI</WebProjectDir>
</PropertyGroup>
<CreateItem Include="$(WebProjectDir)\**\*.*"
Exclude="$(WebProjectDir)\**\.svn\**">
<Output TaskParameter="Include" ItemName="WebFiles" />
</CreateItem>
Muy extraño! Acabo de pasar como 3 horas en este caso.
@Kieran Benton: gracias por la actualización, voy a presentar una Solicitud de connect.microsoft.com para aclarar la documentación de MSDN. – user7116
Me di cuenta de que también prefijaba el valor Excluir con "$ (LibrariesReleaseDir) \\ ** \" (en comparación con el valor en su OP). ¿Eso es significativo? –