Sử dụng ứng dụng bảng điều khiển tiện dụng của @ Vance ở trên, tôi đã sử dụng phần sau làm sự kiện BeforeBuild
<Target Name="BeforeBuild">
<!--Check out BD.edmx, Another.edmx, all configs-->
<Exec Command="$(SolutionDir)\Library\tf checkout /lock:none $(ProjectDir)Generation\DB.edmx" />
<Exec Command="$(SolutionDir)\Library\tf checkout /lock:none $(ProjectDir)Generation\Another.edmx" />
<!--Set to 2008 for Dev-->
<Exec Condition=" '$(Configuration)' == 'DEV1' " Command="$(SolutionDir)Library\SetEdmxSqlVersion $(ProjectDir)Generation\DB.edmx 2008" />
<Exec Condition=" '$(Configuration)' == 'DEV1' " Command="$(SolutionDir)Library\SetEdmxSqlVersion $(ProjectDir)Generation\Another.edmx 2008" />
<Exec Condition=" '$(Configuration)' == 'DEV2' " Command="$(SolutionDir)Library\SetEdmxSqlVersion $(ProjectDir)Generation\DB.edmx 2008" />
<Exec Condition=" '$(Configuration)' == 'DEV2' " Command="$(SolutionDir)Library\SetEdmxSqlVersion $(ProjectDir)Generation\Another.edmx 2008" />
<!--Set to 2005 for Deployments-->
<Exec Condition=" '$(Configuration)' == 'TEST' " Command="$(SolutionDir)Library\SetEdmxSqlVersion $(ProjectDir)Generation\DB.edmx 2005" />
<Exec Condition=" '$(Configuration)' == 'TEST' " Command="$(SolutionDir)Library\SetEdmxSqlVersion $(ProjectDir)Generation\Another.edmx 2005" />
<Exec Condition=" '$(Configuration)' == 'PRODUCTION' " Command="$(SolutionDir)Library\SetEdmxSqlVersion $(ProjectDir)Generation\DB.edmx 2005" />
<Exec Condition=" '$(Configuration)' == 'PRODUCTION' " Command="$(SolutionDir)Library\SetEdmxSqlVersion $(ProjectDir)Generation\Another.edmx 2005" />
</Target>
Điều này rất tiện dụng, vì tránh được việc triển khai lại gây phiền nhiễu. Cảm ơn đã chia sẻ Vance.
Tôi đã thêm TF.exe vào thư mục giải pháp Thư viện và điều này hữu ích, vì bây giờ tôi có thể kiểm tra các tệp edmx trước khi cố gắng chỉnh sửa chúng, như một phần của bản dựng. Ngoài ra, tôi đã thêm điều này với các điều kiện, để nó đặt thành 2005 cho các triển khai tới máy chủ và trở lại 2008 cho các cấu hình sln máy Dev. Ngoài ra, bạn cần thêm (các) tệp SetEdmxSqlVersion.exe (và .pdb) thực tế vào thư mục Thư viện (hoặc bất kỳ nơi nào khác mà bạn muốn giữ các bit này).
Cảm ơn @Vance rất nhiều. Thực sự gọn gàng, tiết kiệm thời gian lớn và giữ cho các bản dựng của tôi hoàn toàn tự động và không đau :)