Pertanyaan Bagaimana cara mengkonfigurasi MSBuild untuk menggunakan publishProfile yang disimpan untuk WebDeploy?


Saya telah menggunakan Visual Studio untuk membuat profil publikasi. Itu menyimpan informasi itu ke MyProject.Publish.xml, yang terletak di root direktori proyek saya.

Saya ingin tugas MSBuild yang dijalankan pada server CI saya untuk menggunakan file itu sebagai pengaturan dasarnya. Idealnya, jika saya bisa mengesampingkan properti melalui parameter baris perintah, itu akan bergoyang.

Apakah ini mungkin? Jika demikian, apa sintaksnya?

Misalnya, saya mencari sesuatu seperti:

MSBuild MyProject.csproj /P:UsePublishProfile=True /P:UserName=deployUser /P:Password=MyPassword

32
2018-02-03 18:42


asal


Jawaban:


Saya minta maaf untuk memberi tahu Anda bahwa file publish.xml yang digunakan VS2010 tidak dirancang untuk digunakan dengan cara ini. Bahkan itu tidak dirancang untuk diperiksa / dibagikan dengan orang lain.

Logika untuk membaca / menulis file-file tersebut secara ketat terdapat di dalam Visual Studio dan tidak tersedia melalui MSBuild. Jadi tidak ada jalan lurus ke depan untuk melakukan hal ini hari ini. Anda harus meneruskan nama / nilai properti individual ketika Anda memanggil msbuild.exe. Anda dapat melihat pertanyaan serupa yang saya jawab Team Build: Publikasikan secara lokal menggunakan MSDeploy untuk info lebih lanjut.

Catatan untuk VS 11 Pratinjau Pengembang

Asal tahu saja kami telah membahas ini dalam versi mendatang dari Visual Studio. Anda dapat melihat apakah dengan mengunduh pratinjau pengembang VS 11. Sekarang semua profil disimpan ke dalam file mereka sendiri (di bawah PublishProfiles di node Properties di Solution Explorer). Mereka sekarang dirancang untuk diperiksa dan dibagikan dengan anggota tim. File-file ini sekarang menjadi file MSBuild dan Anda dapat menyesuaikannya jika Anda mau. Untuk mempublikasikan dari baris perintah cukup lewat DeployOnBuild = true dan tetapkan PublishProfile ke nama profil. Sebagai contoh:

msbuild.exe MyProject.csproj /p:DeployOnBuild=true;PublishProfile=MyProfile

43
2017-12-29 04:52