Bagaimana cara menulis cmd shim untuk msbuild?

-1

Orang-orang di kantor saya sering bertanya kepada saya 'bagaimana saya menjalankan tes-tes itu?'. Saya memberi tahu mereka, browse ke folder Build, buka command prompt, dan jalankan msbuild /t:Tests.

Itu bekerja untuk saya, karena msbuild ada di jalur saya

> where msbuild.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

Namun itu tidak berfungsi untuk semua orang, karena mereka mungkin tidak memiliki folder itu di jalur mereka. Menjelaskan bagaimana mengubah itu membosankan.

Apakah mungkin untuk membuat perintah berfungsi untuk semua orang, bahkan jika mereka tidak memiliki folder di jalurnya?

Saya membayangkan file msbuild.cmddi folder Bangun yang memperbaiki masalah. Ini akan menjalankan yang sebenarnya msbuild.exedengan argumen yang sama (tidak selalu /t:Tests). Pertama-tama akan mencari di jalan msbuild.exe, lalu di C:\Windows\Microsoft.NET\Framework\v4.0.30319.

Kolonel Panic
sumber
Tentu ... Katakan saja kepada mereka jalur penuh dari exe dan sertakan itu dalam perintah yang Anda beri tahu mereka. Infact melupakan file path jika Anda hanya melakukan C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /t:Testsapa yang Anda inginkan.
Ramhound

Jawaban:

0

Pergi bersama

@echo off
REM This shim helps anyone who doesn't have msbuild in their path.

for %%X in (msbuild.exe) do (
    msbuild.exe %*
    exit /b
)

echo "You should probably add msbuild to your path."

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" %*
exit /b
Kolonel Panic
sumber