Program çıkışı dosyaya yönlendirildi, ancak program sona erdikten sonra bir süre daha dosya kilitli kaldı


0

Sorun

Bir Komut İsteminde aşağıdaki komutu çalıştırdığımda:

devenv /? > out.txt & del out.txt

Aşağıdaki hatayı alıyorum:

The process cannot access the file because it is being used by another process.

Bu bir sorun için minimal bir repro durumdur çok daha büyük derleme betiği .

Bu sorun, derleme betiğinin birkaç kullanıcısı tarafından bildirilmiştir. Bazı kullanıcılar her zaman problem yaşar, bazıları ise asla yaşamaz.

Nedir devenv?

devenv ifade eder devenv.com, çağıran küçük bir ön uç yardımcı programı devenv.exe, Visual Studio IDE'nin ana çalıştırılabilir. MSDN makalesinde daha fazla ayrıntı Devenv komut satırı anahtarları .

Ne zaman devenv.exe argümanlar olmadan çağrılır, Visual Studio IDE'yi açar. Ne zaman devenv.exe doğru argümanlarla çağrılır, komut satırında programlar oluşturabilir. Her iki durumda da, devenv.exe hemen döner.

Ancak, devenv.com kadar bekleyecek devenv.exe vardır neredeyse bitti, ancak biraz daha erken sona ermiş gibi görünüyor ve devenv.exe hala çalışıyor ve hataya neden oluyor.

Soru

Bu hatanın oluşmasını nasıl güvenilir bir şekilde önleyebilirim? Duraklama ekleme (ör. timeout 2 ) hakaretten hemen sonra devenv şu an tek düşünebildiğim bu.

Belki de sarmanın bir yolu vardır. devenv içine girmek bir şey geri kontrolü verir sadece komut tamamen sonlandırıldığında?

çevre

  • Microsoft Windows sürüm 10.0.17134.165
  • Microsoft Visual Studio 2017 sürüm 15.0.27703.2035

EDIT: Sorun komutları bir toplu komut dosyasından çalıştırılsa bile oluşur (göre https://superuser.com/a/908744/404097 , bu alakalı bir ayrıntı gibi görünüyor.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.