@ Vance'in yukarıdaki kullanışlı konsol uygulamasını kullanarak, aşağıdakileri bir BeforeBuild etkinliği olarak kullandım
<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>
Bu, can sıkıcı yeniden konuşlandırmayı önlediği için son derece kullanışlıdır. Vance'i paylaştığınız için teşekkürler.
Kitaplık çözüm klasörüne TF.exe'yi ekledim ve bu, derlemenin bir parçası olarak edmx dosyalarını düzenlemeye çalışmadan önce kontrol edebildiğim için yardımcı oluyor. Ayrıca bunu koşullarla ekledim, böylece sunucuya dağıtımlar için 2005'e ve Dev makine sln yapılandırmaları için 2008'e geri dönecek. Ayrıca, gerçek SetEdmxSqlVersion.exe (ve .pdb) dosyalarını Kitaplık klasörüne (veya bu bitleri saklamak istediğiniz başka bir yere) eklemeniz gerektiğini belirtmek isterim.
Çok teşekkürler @ Vance. Gerçekten düzgün, muazzam bir zaman tasarrufu sağlar ve yapılarımı tamamen otomatik ve ağrısız tutar :)