Saya ingin MSBuild.exe selalu menggunakan opsi / MP sehingga proyek selalu dibangun dengan banyak core. Saya mencoba menambahkan / MP ke baris terakhir MSBuild.rsp saya (dalam direktori yang sama dengan MSBuild.exe yang dapat dieksekusi). Namun opsi / MP tidak digunakan. Bagaimana saya bisa mendapatkan Visual Studio untuk selalu menggunakan opsi / MP?
The MSBuild.rsp menggambarkan perilaku saya ingin menggunakan, tapi saya belum bisa mendapatkannya bekerja:
File respons otomatis adalah file .rsp khusus yang secara otomatis digunakan oleh MSBuild.exe saat membangun sebuah proyek. File ini, MSBuild.rsp, harus berada di direktori yang sama dengan MSBuild.exe, jika tidak, ia tidak akan ditemukan. Anda dapat mengedit file ini untuk menentukan beralih baris perintah default ke MSBuild.exe. Misalnya, jika Anda menggunakan logger yang sama setiap kali Anda membangun sebuah proyek, Anda bisa menambahkan / logger switch ke MSBuild.rsp, dan MSBuild.exe akan menggunakan logger setiap kali proyek dibangun.
Saya me-restart komputer saya untuk memverifikasi bahwa MSBuild.exe entah bagaimana tidak menggunakan versi MSBuild.rsp sebelumnya.
Saya memverifikasi bahwa saya memodifikasi MSBuild.rsp di direktori yang sama dengan MSBuild.exe dengan memeriksa "Open File Location" di task manager Windows. Opsi konfigurasi MP proyek kosong (tidak dinonaktifkan secara eksplisit).
Saya mengonfirmasi bahwa opsi / MP di MSBuild.rsp tidak digunakan dengan melakukan pembangunan kembali "Hanya Proyek" dan menghitung hanya satu contoh cl.exe di Windows Task Manager (jika saya melakukan pembangunan kembali yang sama dengan opsi / MP yang diset secara manual ada lebih dari 10 contoh cl.exe).
Saya juga mencoba menambahkan banyak sampah ke MSBuild.rsp, dan tidak ada kesalahan atau peringatan yang dilaporkan oleh Visual Studio, yang membuat saya berpikir MSBuild.rsp tidak digunakan sama sekali.
Saya mencoba mengaktifkan pencatatan hasil diagnostik untuk MSBuild dan ini menunjukkan opsi / MP (sebagai argumen untuk Tracker.exe) ketika saya mengaktifkannya secara eksplisit dalam pengaturan konfigurasi proyek saya, tetapi jika saya membiarkan opsi MP kosong dalam konfigurasi proyek saya dan hanya menyertakan di MSBuild.rsp opsi / MP tidak termasuk dalam output ini. Saya tidak tahu apa itu Tracker.exe (saya berharap melihat MSBuild.exe di tempatnya). Saya juga mencoba menambahkan file Tracker.rsp dengan / MP di direktori yang sama dengan Tracker.exe pada tebakan liar, dan itu juga tidak membantu (dan saya juga mencoba menambahkan MSBuild.rsp ke direktori Tracker.exe saya dan juga tidak berdampak).
Hanya untuk melihat apakah file rsp bisa bekerja, saya secara eksplisit menambahkan file rsp dengan opsi @ ditambahkan ke pengaturan konfigurasi proyek saya, dan itu memang ditampilkan sebagai memuat dalam opsi / MP dalam output build diagnostik, tetapi tidak berpengaruh . Opsi / MP dimasukkan kemudian sebagai argumen untuk cl.exe, bukan sebagai argumen untuk Tracker.exe seperti ketika opsi MP ditentukan dalam konfigurasi proyek. Saya pikir pilihannya adalah MSBuild (atau Tracker.exe saya kira), bukan cl.exe.
Saya menggunakan Visual Studio 2010 dengan sebagian besar proyek C ++.
sumber
Jawaban:
Satu hal yang dapat Anda lakukan adalah memasukkannya ke dalam file alat peraga dan membuat proyek pribadi Anda mewarisi dari file itu. Di bawah
ItemDefinitionGroup
Di dalamClCompile
Anda akan<MultiProcessorCompilation>true</MultiProcessorCompilation>
.sumber