Khi một thuộc tính đơn chứa dấu chấm phẩy, MSBuild tự động phân tích thuộc tính thành danh sách thuộc tính khi được sử dụng trong một nhóm mục. Dưới đây là một đoạn trích từ dự án của tôi:MSBuild: cách kiểm soát việc phân tích cú pháp của thuộc tính được phân cách bằng dấu chấm phẩy
<PropertyGroup>
<ConnectionString>workstation id=.;packet size=4096;Integrated Security=SSPI;data source=.;initial catalog=$(SqlDbName)</ConnectionString>
</PropertyGroup>
<ItemGroup>
<InstallShieldProperties Include="
CONNECTIONSTRING=$(ConnectionString);
Another=$(value)"/>
</ItemGroup>
Khi một nhiệm vụ tiêu thụ các @ (InstallShieldProperties) ItemGroup, MSBuild sẽ phân tích thuộc tính ConnectionString vào một danh sách các thuộc tính tập hợp con vì nó chứa dấu chấm phẩy.
foreach (string property in Properties)
{
// Properties array parsed to pieces
}
Tôi biết tôi có thể thay đổi dấu phân cách của nhóm mặt hàng, nhưng điều đó sẽ không tạo ra bất kỳ sự khác biệt nào. Tôi đang cố gắng tránh thao tác chuỗi chuỗi [] trong tác vụ tùy chỉnh.
Rất hữu ích! Và [đây là một liên kết đến tài liệu hàm tài sản] (http://msdn.microsoft.com/en-us/library/dd633440.aspx). –