Saya ingin properti versi aplikasi saya bertambah untuk setiap build tetapi saya tidak yakin tentang cara mengaktifkan fungsionalitas ini di Visual Studio (2005/2008). Saya telah mencoba untuk menentukan AssemblyVersion sebagai 1.0. * Tetapi tidak mendapatkan apa yang saya inginkan.
Saya juga menggunakan file pengaturan dan dalam upaya sebelumnya ketika versi perakitan mengubah pengaturan saya direset ke default karena aplikasi mencari file pengaturan di direktori lain.
Saya ingin menampilkan nomor versi dalam bentuk 1.1.38 sehingga ketika pengguna menemukan masalah, saya dapat mencatat versi yang mereka gunakan serta memberitahu mereka untuk meningkatkan jika mereka memiliki rilis lama.
Penjelasan singkat tentang cara kerja pembuatan versi juga akan dihargai. Kapan nomor build dan revisi bertambah?
sumber
Jawaban:
Dengan item "Built in", Anda tidak bisa, karena menggunakan 1.0. * Atau 1.0.0. * Akan mengganti revisi dan nomor build dengan tanggal / stempel waktu berkode, yang biasanya juga merupakan cara yang baik.
Untuk info lebih lanjut, lihat Dokumentasi Assembly Linker di tag / v.
Adapun untuk menambah angka secara otomatis, gunakan Tugas AssemblyInfo:
Tugas AssemblyInfo
Ini dapat dikonfigurasi untuk menaikkan nomor build secara otomatis.
Ada 2 Gotcha:
Mengambil nomor Versi cukup mudah:
Dan, untuk memperjelas: Dalam .net atau setidaknya di C #, build sebenarnya adalah nomor KETIGA, bukan yang keempat seperti yang diharapkan beberapa orang (misalnya Delphi Developers yang terbiasa dengan Major.Minor.Release.Build).
Dalam .net, ini adalah Major.Minor.Build.Revision.
sumber
VS.NET menetapkan versi Perakitan secara default ke 1.0. * Dan menggunakan logika berikut saat penambahan otomatis: ini menetapkan bagian build ke jumlah hari sejak 1 Januari 2000, dan menetapkan bagian revisi ke jumlah detik sejak tengah malam, waktu setempat, dibagi dua. Lihat artikel MSDN ini .
Versi assembly terletak di file assemblyinfo.vb atau assemblyinfo.cs. Dari file:
sumber
January 1st, 2000
Saya telah menemukan bahwa itu berfungsi dengan baik untuk hanya menampilkan tanggal pembuatan terakhir menggunakan berikut ini di mana pun versi produk diperlukan:
Daripada mencoba mendapatkan versi dari sesuatu seperti berikut:
sumber
Sistem kendali sumber apa yang Anda gunakan?
Hampir semuanya memiliki beberapa bentuk $ Id $ tag yang diperluas ketika file di check in.
Saya biasanya menggunakan beberapa bentuk peretasan untuk menampilkan ini sebagai nomor versi.
Alternatif lain adalah menggunakan tanggal sebagai nomor build: 080803-1448
sumber
[Visual Studio 2017, .csproj properti ]
Untuk memperbarui properti PackageVersion / Version / AssemblyVersion Anda (atau properti lainnya) secara otomatis, pertama, buat
Microsoft.Build.Utilities.Task
kelas baru yang akan mendapatkan nomor build Anda saat ini dan kirim kembali nomor yang diperbarui (saya sarankan untuk membuat proyek terpisah hanya untuk kelas itu).Saya memperbarui nomor mayor.minor secara manual, tetapi biarkan MSBuild memperbarui nomor build secara otomatis (1.1. 1 , 1.1. 2 , 1.1. 3 , dll. :)
Kemudian panggil Tugas yang baru saja Anda buat di proses MSBuild menambahkan kode berikutnya pada file .csproj Anda:
Saat memilih opsi proyek Visual Studio Pack (ubah saja menjadi
BeforeTargets="Build"
untuk menjalankan tugas sebelum Build) kode RefreshVersion akan dipicu untuk menghitung nomor versi baru, danXmlPoke
tugas akan memperbarui properti .csproj Anda sesuai (ya, itu akan mengubah file).Saat bekerja dengan pustaka NuGet, saya juga mengirim paket ke repositori NuGet dengan hanya menambahkan tugas build berikutnya ke contoh sebelumnya.
c:\nuget\nuget
adalah tempat saya memiliki klien NuGet (ingatlah untuk menyimpan kunci API NuGet Anda dengan meneleponnuget SetApiKey <my-api-key>
atau memasukkan kunci tersebut pada panggilan push NuGet).Untuk berjaga-jaga jika itu membantu seseorang ^ _ ^.
sumber
Beberapa waktu lalu saya menulis exe cepat dan kotor yang akan memperbarui versi # di assemblyinfo. {Cs / vb} - Saya juga telah menggunakan rxfind.exe (alat pengganti pencarian berbasis regex yang sederhana dan kuat) untuk melakukan perbarui dari baris perintah sebagai bagian dari proses pembuatan. Beberapa petunjuk bermanfaat lainnya:
sumber
Jika Anda menginginkan nomor auto incrementing yang diperbarui setiap kali kompilasi selesai, Anda dapat menggunakan VersionUpdater dari acara pra-pembuatan. Peristiwa pra-build Anda dapat memeriksa konfigurasi build jika Anda menginginkannya sehingga nomor versi hanya akan bertambah untuk build Rilis (misalnya).
sumber