Visual Studio Hosting Sürecinin amacı nedir?


165

Visual Studio kullanarak bir programda hata ayıklama seçeneği sunulur Enable the Visual Studio hosting process. Bu seçeneğin amacı nedir ve nasıl bir etkisi vardır?


88
Bu sorunun "gerçek bir soru" olarak kapatıldığına inanmak zor! Barındırma işlemi yeterince gerçek, ne yaptığını bilmek herhangi bir .NET programcısı için önemlidir. Visual Studio ayar sayfasında ulaşılması kolay herhangi bir gizemli seçenek olduğu gibi. Hadi bu yeniden açılan millet olsun.
Hans Passant

Yanıtlar:


85

MSDN kitaplığı "barındırma işlemi" hakkında çok iyi bilgi vermez. Eric'in bağlantısında listelenen son iki özellik aslında özelliğin neden olduğu sorunlardır. Er ya da geç çalıştırmak zorunda olduğunuz başka bir tane var: farklı bir app.config dosyası kullanıyor. Etkin olana yourapp.vshost.exe.config adı verilir. Dosyada manuel değişiklikler yaparken buna dikkat edin.

Uygulamanızda hata ayıkladığınızda çok görülebilen ancak hiçbir yerde bahsedilmediğini destekleyen başka bir özellik, Console.Write () tarafından üretilen çıktıya ne olduğu. Konsol dışı mod uygulamasında IDE'nin Çıktı penceresine yönlendirilir. Çok kullanışlı.

"Barındırma" terimi, CLR'nin bir özelliğini ifade eder, "barındırılabilir". Özel CLR ana bilgisayarlarına örnek olarak SQL Server ve ASP.NET verilebilir. Hosting, CLR'nin başlamadan önce yapılandırılmasına izin verir. Bunun birincil kullanım alanı, birincil AppDomain'i yapılandırmak ve özel güvenlik politikaları oluşturmaktır. Hangi tam olarak hosting işlemi yapıyor.

Bu soruda özel bir CLR ana bilgisayarının iyi bir örneği bulunmaktadır .

Uzun öykü kısa: hata ayıklama modunda, hata ayıklama deneyimini geliştiren özelleştirilmiş bir CLR sürümü ile çalışıyorsunuz.


4
Her yeni projede bu özelliği devre dışı bırakma alışkanlığım var. Bu özellik devre dışı bırakılmayan C ++ / CLI WinForms Designer ile çalışırken garip sorunlarla karşılaştım.
surfen

Alakalı olması pek olası değildir, C ++ IDE bir barındırma işlemi kullanmaz ve tasarım modunda kullanılmaz.
Hans Passant

2
Ayrıca, Microsoft web sitesinde ( msdn.microsoft.com/en-us/library/ms242202.aspx ) Kısmi Güven Hata Ayıklamasını (ne olduğu hakkında bir ipucu yok) ve sık kullandığım Tasarım Zamanı İfade Değerlendirmesi'ni etkinleştirdiğini belirtir. Anında penceresindeki ifadeleri değerlendirmek için. Ancak, barındırma belirtildiği gibi sorunları var.
Jay Imerman

5
Barındırma işlemi, Visual Studio'nun çalışan başka bir kopyasından yazmak istediğim DLL'leri yüklü tutma eğilimindedir. Yeni başlatılan barındırma işlemi DLL'i yeniden yüklediğinden, barındırma işlemini öldürmek, hatta rahatsız edici VS'yi yeniden başlatmak ve yeniden başlatmak yardımcı olmaz. Genellikle devre dışı bırakmamın nedeni budur.
gpvos

Windows formları projesinin özellikler penceresinden seçeneği Console.WriteLinedevre dışı bıraktığımda bile günlüklerin çıktı penceresinde yazdırıldığını gözlemliyorum Enable the Visual Studio hosting process. Emin değilim neden.
RBT

17

Gönderen MSDN :

Visual Studio barındırma işlemi hata ayıklayıcı performansını iyileştirir ve kısmi güven hata ayıklaması ve tasarım zamanı ifade değerlendirmesi gibi yeni hata ayıklayıcı özellikleri sağlar


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.