Vì vậy, vấn đề là với các biến chuỗi vì một số lý do trong msbuild. Các công trình sau đây cho tôi, lưu ý rằng tôi phải chỉ sử dụng các đường dẫn tương đối dựa trên biến MSBuildProjectDirectory.
<CreateItem Include="$(MSBuildProjectDirectory)\..\Client\Web\Foo.Web.UI\**\*.*"
Exclude="$(MSBuildProjectDirectory)\..\Client\Web\Foo.Web.UI\**\.svn\**">
<Output TaskParameter="Include" ItemName="WebFiles" />
</CreateItem>
Sau đây không hoạt động:
<PropertyGroup>
<WebProjectDir>$(MSBuildProjectDirectory)\..\Client\Web\Foo.Web.UI</WebProjectDir>
</PropertyGroup>
<CreateItem Include="$(WebProjectDir)\**\*.*"
Exclude="$(WebProjectDir)\**\.svn\**">
<Output TaskParameter="Include" ItemName="WebFiles" />
</CreateItem>
Rất lạ! Tôi chỉ dành 3 giờ cho cái này.
@Kieran Benton: cảm ơn cho cập nhật, tôi sẽ nộp một connect.microsoft.com yêu cầu làm rõ tài liệu MSDN. – user7116
Tôi nhận thấy rằng bạn cũng đã đặt trước giá trị Loại trừ với "$ (LibrariesReleaseDir) \\ ** \" (so với giá trị trong OP của bạn). Điều đó có ý nghĩa không? –