apa maksud pesan error ini? Apa yang bisa saya lakukan untuk memperbaiki masalah ini?
AssemblyInfo.cs keluar dengan kode 9009
Masalahnya mungkin terjadi sebagai bagian dari langkah post-build dalam solusi .NET di Visual Studio.
apa maksud pesan error ini? Apa yang bisa saya lakukan untuk memperbaiki masalah ini?
AssemblyInfo.cs keluar dengan kode 9009
Masalahnya mungkin terjadi sebagai bagian dari langkah post-build dalam solusi .NET di Visual Studio.
Jawaban:
Apakah Anda mencoba memberikan path lengkap dari perintah yang berjalan di perintah event pre atau post-build?
Saya mendapatkan kesalahan 9009 karena xcopy
perintah event post-build di Visual Studio 2008.
Perintah
"xcopy.exe /Y C:\projectpath\project.config C:\compilepath\"
keluar dengan kode 9009.
Tetapi dalam kasus saya itu juga intermiten. Yaitu, pesan kesalahan tetap sampai restart komputer, dan menghilang setelah restart komputer. Itu kembali setelah beberapa masalah terkait jarak jauh yang belum saya temukan.
Namun, dalam kasus saya, memberikan perintah dengan path lengkap menyelesaikan masalah:
c:\windows\system32\xcopy.exe /Y C:\projectpath\project.config C:\compilepath\
Alih-alih hanya:
xcopy.exe /Y C:\projectpath\project.config C:\compilepath\
Jika saya tidak memiliki path lengkap, itu akan berjalan beberapa saat setelah restart, dan kemudian berhenti.
Juga seperti yang disebutkan pada komentar untuk posting ini, jika ada spasi di jalur penuh, maka orang perlu tanda kutip di sekitar perintah . Misalnya
"C:\The folder with spaces\ABCDEF\xcopy.exe" /Y C:\projectpath\project.config C:\compilepath\
Perhatikan bahwa contoh ini berkaitan dengan spasi tidak diuji.
"$(SolutionDir)packages\NUnit.2.5.10.11092\tools\"nunit-console "$(TargetPath)"
) menyelesaikannya.
PATH
variabel lingkungan hilang entah bagaimana? Saya mendapatkan kesalahan ini setiap sekarang dan kemudian. Saya memiliki npm install
pengaturan sebagai acara pra-bangun, dan awalnya bekerja (jadi saya menganggap semuanya sudah diatur), tetapi kemudian secara acak itu akan berhenti bekerja pada siang hari (umumnya ketika beralih di antara solusi / cabang saya percaya), dan itu tidak akan lagi tahu tentang npm
. Restart VS 'fix' it ... artinya PATH
setup saya benar, tetapi sepertinya bangun oleh VS. Jika ada cara untuk melihat variabel env dari dalam VS saya bisa mengkonfirmasi ini.
%systemroot%\System32\xcopy ...
Kode Kesalahan 9009 berarti file kesalahan tidak ditemukan. Semua alasan mendasar yang diposting dalam jawaban di sini adalah inspirasi yang baik untuk mencari tahu mengapa, tetapi kesalahan itu sendiri berarti jalan yang buruk.
Ini terjadi ketika Anda kehilangan beberapa pengaturan lingkungan untuk menggunakan alat Microsoft Visual Studio x86.
Karenanya, coba tambahkan sebagai perintah pertama dalam langkah-langkah post-build Anda:
Untuk Visual Studio 2010 gunakan:
call "$(DevEnvDir)..\Tools\vsvars32.bat"
Seperti @FlorianKoch disebutkan dalam komentar, untuk penggunaan VS 2017:
call "$(DevEnvDir)..\Tools\VsDevCmd.bat"
Itu harus ditempatkan sebelum perintah lain.
Ini akan mengatur lingkungan untuk menggunakan alat Microsoft Visual Studio x86.
call "$(DevEnvDir)..\Tools\vsvars32.bat"
? Terima kasih
Path
variabel lingkungan saya . Periksa jendela Output untuk informasi lebih lanjut.
"$(DevEnvDir)..\Tools\VsDevCmd.bat"
Kemungkinan besar Anda memiliki ruang di jalur yang dihasilkan.
Anda dapat mengatasi ini dengan mengutip jalur, sehingga memungkinkan spasi. Sebagai contoh:
xcopy "$(SolutionDir)\Folder Name\File To Copy.ext" "$(TargetDir)" /R /Y /I
Punya variabel yang sama setelah mengubah variabel PATH dari Variabel Lingkungan di Win 7. Mengubah kembali ke default membantu.
Saya memiliki kesalahan 9009 ketika skrip peristiwa pembuatan pos saya mencoba menjalankan file batch yang tidak ada di jalur yang ditentukan.
Saya menyebabkan kesalahan ini terjadi ketika saya redacted variabel lingkungan Path saya. Setelah mengedit, saya tidak sengaja menambahkanPath=
ke awal string path. Dengan variabel path yang salah bentuk, saya tidak dapat menjalankan XCopy pada baris perintah (tidak ada perintah atau file tidak ditemukan), dan Visual Studio menolak untuk menjalankan langkah post-build, mengutip kesalahan dengan kode 9009.
XCopy umumnya berada di C: \ Windows \ System32. Setelah variabel lingkungan Path memungkinkan XCopy untuk diselesaikan pada DOS prompt, Visual Studio membangun solusi saya dengan baik.
Kesalahan saya sebenarnya adalah
The command "iscc /DConfigurationName=Debug "C:\Projects\Blahblahblah\setup.iss"" exited with code 9009.
9009 berarti file tidak ditemukan, tetapi sebenarnya tidak dapat menemukan bagian "iscc" dari perintah.
Saya memperbaikinya dengan menambahkan ";C:\Program Files\Inno Setup 5 (x86)\"
ke variabel lingkungan sistem"path"
Jika skrip benar-benar melakukan apa yang perlu dilakukan dan itu hanya Visual Studio yang mengganggu Anda tentang kesalahan yang bisa Anda tambahkan:
exit 0
sampai akhir skrip Anda.
Periksa ejaannya. Saya mencoba untuk memanggil executable tetapi namanya salah eja dan itu memberi saya exited with code 9009
pesan.
Dalam kasus saya, saya harus "CD" (Change Directory) ke direktori yang tepat terlebih dahulu, sebelum memanggil perintah, karena executable yang saya panggil ada di direktori proyek saya.
Contoh:
cd "$(SolutionDir)"
call "$(SolutionDir)build.bat"
Varian lain:
hari ini saya memanggil juru bahasa python dari cron di win32 dan mengambil ExitCode (% ERRORLEVEL%) 9009, karena akun sistem yang digunakan oleh cron tidak memiliki jalur ke direktori Python.
Masalah dalam kasus saya terjadi ketika saya mencoba menggunakan perintah pada baris perintah untuk acara Post-build di Perpustakaan Kelas Tes saya. Ketika Anda menggunakan tanda kutip seperti itu:
"$(SolutionDir)\packages\NUnit.Runners.2.6.2\tools\nunit" "$(TargetPath)"
atau jika Anda menggunakan konsol:
"$(SolutionDir)\packages\NUnit.Runners.2.6.2\tools\nunit-console" "$(TargetPath)"
Ini memperbaiki masalah bagi saya.
Jawaban tfa telah diturunkan, tetapi sebenarnya dapat menyebabkan masalah ini. Berkat hanzolo, saya melihat ke jendela output dan menemukan yang berikut:
3>'gulp' is not recognized as an internal or external command,
3>operable program or batch file.
3>D:\dev\<filepath>\Web.csproj(4,5): error MSB3073: The command "gulp clean" exited with code 9009.
Setelah berjalan npm install -g gulp
, saya berhenti mendapatkan kesalahan ini. Jika Anda mendapatkan kesalahan ini di Visual Studio, periksa jendela output dan lihat apakah masalahnya adalah variabel lingkungan yang tidak disetel.
Juga, pastikan tidak ada jeda baris di jendela pengeditan acara pembuatan pos di proyek Anda. Terkadang menyalin perintah xcopy dari web ketika multi-line dan menempelkannya ke VS akan menyebabkan masalah.
Bagi saya itu terjadi setelah memutakhirkan paket nuget dari satu versi PostSharp ke yang berikutnya dalam solusi besar (~ 80 proyek). Saya punya kesalahan kompilator untuk proyek yang memiliki perintah di acara PreBuild.
'cmd' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dijalankan, atau file batch. C: \ Program Files (x86) \ MSBuild \ 14.0 \ bin \ Microsoft.Common.CurrentVersion.targets (1249,5): error MSB3073: Perintah "cmd / c C: \ GitRepos \ main \ ServiceInterfaces \ DEV.Config \ PreBuild.cmd ServiceInterfaces "keluar dengan kode 9009.
Variabel PATH rusak menjadi terlalu panjang dengan beberapa jalur berulang yang terkait dengan PostSharp.Patterns.Diagnostics. Ketika saya menutup Visual Studio dan membukanya lagi, masalahnya diperbaiki.
Namun varian file lain tidak ditemukan, karena spasi di jalan. Dalam kasus saya dalam skrip msbuild. Saya perlu menggunakan gaya HTML & quot; string dalam perintah exec.
<!-- Needs quotes example with my Buildscript.msbuild file -->
<Exec Command=""$(MSBuildThisFileDirectory)\wix\wixscript.bat" $(VersionNumber) $(VersionNumberShort)"
ContinueOnError="false"
IgnoreExitCode="false"
WorkingDirectory="$(MSBuildProjectDirectory)\wix" />
Sama seperti jawaban lainnya, dalam kasus saya itu karena file yang hilang. Untuk mengetahui apa file yang hilang, Anda dapat pergi ke jendela output dan itu akan menunjukkan kepada Anda langsung apa yang hilang.
Untuk membuka jendela output di Visual Studio:
Saya memperbaikinya dengan hanya me-restart Visual Studio - Saya baru saja menjalankan dotnet tool install xxx
di jendela konsol dan VS belum mengambil variabel lingkungan baru dan / atau pengaturan jalur yang diubah, jadi restart cepat memperbaiki masalah ini.
Ini cukup mendasar, saya punya masalah ini, dan gagal sederhana memalukan.
Aplikasi menggunakan argumen baris perintah, saya menghapusnya dan kemudian menambahkannya kembali. Tiba-tiba proyek gagal dibangun.
Visual Studio -> Properti Proyek -> verifikasi bahwa Anda menggunakan tab 'Debug' (bukan tab 'Bangun Acara') -> Argumen Baris Perintah
Saya menggunakan area teks Post dan Pre-build, yang salah dalam kasus ini.
Solusi saya sangat sederhana: apakah Anda sudah mencoba mematikannya lagi? Jadi saya me-restart komputer dan masalah itu hilang.
Saya juga mengalami ini 9009
masalah ketika menghadapi situasi menimpa.
Pada dasarnya, jika file sudah ada dan Anda belum menentukan /y
sakelar (yang secara otomatis menimpa) kesalahan ini dapat terjadi ketika dijalankan dari build.
Setidaknya dalam Visual Studio Ultimate 2013, Versi 12.0.30723.00 Pembaruan 3, tidak mungkin untuk memisahkan pernyataan if / else dengan jeda baris:
bekerja:
if '$(BuildingInsideVisualStudio)' == 'true' (echo local) else (echo server)
tidak bekerja:
if '$(BuildingInsideVisualStudio)' == 'true' (echo local)
else (echo server)
Namun alasan lain: Jika acara pra-bangun Anda merujuk path bin proyek lain dan Anda melihat kesalahan ini ketika menjalankan msbuild, tetapi bukan Visual Studio, maka Anda harus mengatur proyek secara manual dalam file * .sln (dengan editor teks) jadi bahwa proyek yang Anda targetkan dalam acara tersebut dibangun sebelum proyek acara. Dengan kata lain, msbuild menggunakan urutan proyek terdaftar dalam file * .sln sedangkan VS menggunakan pengetahuan tentang dependensi proyek. Saya memiliki ini terjadi ketika alat yang membuat database untuk dimasukkan dalam wixproj terdaftar setelah wixproj.
Saya pikir dalam kasus saya ada simbol Rusia di jalur (semua proyek berada di folder pengguna). Ketika saya meletakkan solusi di folder lain (langsung pada disk), semuanya menjadi ok.
Solusi saya adalah membuat salinan file dan menambahkan langkah ke tugas build untuk menyalin file saya di atas yang asli.