Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Visual Studio
Visual Studio'daki kod kapsamı çözümleme aracı, yerel ve yönetilen derlemeler (.dll veya .exe dosyaları) için veri toplar. Ancak, bazı durumlarda Kod Kapsamı Sonuçları penceresinde "Boş sonuçlar oluşturuldu: ...." gibi bir hata görüntülenir. Bu makale, boş sonuçlarla karşılaşmanın çeşitli nedenlerini gidermenize ve çözmenize yardımcı olur.
Ne görmelisin?
Test menüsünde Kod Kapsamını Çözümle komutunu seçerseniz ve derleme ve testler başarıyla çalıştırılırsa Kod Kapsamı penceresinde sonuçların listesini görmeniz gerekir. Ayrıntıları görmek için öğeleri genişletmeniz gerekebilir.
Daha fazla bilgi için bkz . Ne kadar kodun test edildiğini belirlemek için kod kapsamını kullanma.
Sonuçları ya da eski sonuçları görmek için olası nedenler
Visual Studio'nun doğru sürümünü kullanmıyorsunuz
Visual Studio Enterprise'a ihtiyacınız var.
Hiçbir sınama yürütülemedi
Analiz
Çıktı penceresini onaylayın. Çıkış göster açılan listesinde Testler'i seçin. Herhangi bir uyarı veya hatanın günlüğe kaydedilip kaydedilmediğine bakın.
Açıklama
Kod kapsamı analizleri testler çalışırken tamamlanır. Testler çalıştırıldığında sadece belleğe yüklenen derlemeleri içerir. Testlerden hiçbiri yürütülmezse, kod kapsamının bildirecek bir şeyi yoktur.
Çözünürlük
Test Gezgini'nde Tümünü Çalıştır'ı seçerek testlerin başarıyla çalıştığını doğrulayın. Kod Kapsamını Analiz Et'i kullanmadan önce tüm hataları düzeltin.
Önceki bir sonuda bakıyorsunuz
Testlerinizi değiştirip yeniden çalıştırdığınızda, eski çalıştırmadaki kod renklendirmesi de dahil olmak üzere önceki bir kod kapsamı sonucu hala görünebilir. Sorunu çözmek için şu adımları izleyin:
- Kod Kapsamını Analiz Et'i çalıştırın.
- Kod Kapsamı Sonuçları penceresinde en son sonuç kümesini seçtiğinizden emin olun.
.pdb (simge) dosyaları kullanılamaz
Analiz
Derleme hedef klasörünü açın (genellikle bin\debug) ve her derleme için .dll veya .exe dosyasıyla aynı dizinde bir .pdb dosyası olduğunu doğrulayın.
Açıklama
Kod kapsamı altyapısı, her derlemenin test çalıştırması sırasında erişilebilen ilişkili .pdb dosyasına sahip olmasını gerektirir. Belirli bir derleme için .pdb dosyası yoksa, derleme çözümlenmemiştir.
.pdb dosyası, .dll veya .exe dosyalarıyla aynı derlemeden oluşturulmalıdır.
Çözünürlük
Derleme ayarlarınızın .pdb dosyasını oluşturduğundan emin olun.
Proje oluşturulduğunda .pdb dosyaları güncelleştirilmezse proje özelliklerini açın, Oluştur sayfasını seçin, Gelişmiş'i seçin ve Hata Ayıklama Bilgileri'ni inceleyin.
Visual Studio 2022 ve sonraki sürümlerde, .NET Core veya .NET 5+ hedefleyen C# projeleri için proje özelliklerini açın, Oluştur sekmesini seçin, Genel'i seçin ve Hata ayıklama sembollerini inceleyin.
C++ projeleri için, oluşturulan .pdb dosyalarının tam hata ayıklama bilgilerine sahip olduğundan emin olun. Proje özelliklerini açın ve Bağlayıcı>Hata Ayıklama Hata Ayıklama Hata Ayıklama>Bilgileri Oluştur'un paylaşım ve yayımlama için iyileştirilmiş Hata Ayıklama Bilgileri Oluştur (/DEBUG:FULL) olarak ayarlandığını doğrulayın.
.pdb ve .dll veya .exe dosyaları farklı yerlerdeyse, .pdb dosyasını aynı dizine kopyalayın. Başka bir konumda .pdb dosyalarını aramak için kod kapsamı altyapısını yapılandırmak da mümkündür. Daha fazla bilgi için bkz . Kod kapsamı analizini özelleştirme.
İzlemeli veya iyileştirilmiş ikili kullanılır
Analiz
İkilinin Profil Destekli İyileştirme gibi herhangi bir gelişmiş iyileştirme yönteminden geçirilip geçirildiğini veya vsinstr.exe veya vsperfmon.exe gibi bir profil oluşturma aracı tarafından izlenip izlenmediğini belirleyin.
Açıklama
Bir derleme zaten başka bir profil aracıyla araç haline getirilmiş veya iyileştirilmişse, derleme kod kapsamı analizinden atlanmıştır. Kod kapsamı analizi bu tür derlemelerde gerçekleştirilemez.
Çözünürlük
İyileştirmeyi kapatın ve yeni bir yapım kullanın.
Kod yönetilmiyor (.NET) veya yerel (C++) kod
Analiz
Yönetilen kodda veya C++ kodunda bazı testler çalıştırılıp çalıştırılamadığını belirleyin.
Açıklama
Visual Studio'daki kod kapsama analizi sadece yönetilen ve yerel (C++) kodlar için kullanılabilir. Üçüncü taraf araçlarla çalışıyorsanız kodun bir kısmı veya tamamı farklı bir platformda yürütülebilir.
Çözünürlük
Hiçbiri kullanılamaz.
Proje adı 'DataCollector' içeriyor
Proje adında DataCollector kullanan projeler kod kapsamı tarafından tanımlanamaz.
NGen tarafından yüklenen derleme
Analiz
Derlemenin yerel görüntü önbelleğinden yüklenip yüklenmediğini belirleyin.
Açıklama
Performans nedenleriyle yerel görüntü derlemeleri analiz edilir. Daha fazla bilgi için bkz . Ngen.exe (Yerel Görüntü Oluşturucu).
Çözünürlük
Derlemenin MSIL sürümünü kullanın. NGen ile işlemeyin.
Özel .runsettings dosyasında söz dizimi sorunları var
Analiz
Özel bir .runsettings dosyası kullanıyorsanız, söz dizimi hatası içeriyor olabilir. Kod kapsamı çalıştırılamaz ve test çalıştırmasının sonunda kod kapsamı penceresi açılmaz veya eski sonuçları gösterir.
Açıklama
Kod kapsamı seçeneklerini yapılandırmak için birim testlerinizi özel bir .runsettings dosyasıyla çalıştırabilirsiniz. Bu seçenek size dosyaları eklemeyi veya çıkarmayı sağlar. Daha fazla bilgi için bkz . Kod kapsamı analizini özelleştirme.
Çözünürlük
Olası iki hata türü şunlardır:
XML hatası
Visual Studio XML düzenleyicisinde .runsettings dosyasını açın. Hata göstergelerine bakın.
Normal ifade hatası
Dosyadaki her dize bir düzenli ifadedir. Her birini hatalar için gözden geçirin ve bu belirtilen için bakın:
- Eşleşmeyen parantezler (...) veya sıralanmamış parantezler \(...\). Arama dizisinde parantezleri eşleştirmek istiyorsanız, atlatmak gerekir. Örneğin, bir işlevi eşleştirmek için şunu kullanın:
.*MyFunction\(double\) - İfadenin başına yıldız veya artı koyun. Herhangi bir karakter dizesini eşleştirmek için nokta ve ardından yıldız işareti kullanın:
.*
- Eşleşmeyen parantezler (...) veya sıralanmamış parantezler \(...\). Arama dizisinde parantezleri eşleştirmek istiyorsanız, atlatmak gerekir. Örneğin, bir işlevi eşleştirmek için şunu kullanın:
Yanlış istisnalarla özelleştirilmiş .runsettings dosyası
Analiz
Özel bir .runsettings dosyası kullanıyorsanız, derlemenizi içerdiğine emin olun.
Açıklama
Kod kapsamı seçeneklerini yapılandırmak için birim testlerinizi özel bir .runsettings dosyasıyla çalıştırabilirsiniz. Bu seçenek size dosyaları eklemeyi veya çıkarmayı sağlar. Daha fazla bilgi için bkz . Kod kapsamı analizini özelleştirme.
Çözünürlük
.runsettings dosyasındaki Include tüm düğümleri kaldırın ve ardından tüm düğümleri Exclude kaldırın. Bu problemi çözdüyse, bunları aşamalar halinde yerleştirin.
DataCollectors düğümünün Kod Kapsamını belirttiğinden emin olun. Bunu Kod kapsamı analizini özelleştirme'deki örnekle karşılaştırın.
Bazı kodlar her zaman kapsandığı gibi gösterilmez
İzlemeden önce yerel DLL'lerdeki kodun başlatılması
Analiz
Statik olarak bağlı yerel kodda dllmain başlatma işlevinin ve çağırdığı kodun bir bölümü, kod yürütülmüş olsa bile bazen kapsanmamış olarak gösterilir.
Açıklama
Kod kapsamı aracı uygulama başlamadan önce izlemenin derlemeye eklenmesiyle çalışır. Önceden yüklenen tüm derlemelerde, DllMain'deki başlatma kodu derleme yüklenir yüklenmez ve uygulama çalıştırılmadan önce yürütülür. Bu kod, genellikle statik olarak yüklenen derlemeler için geçerli olan kapsamına alınmamıştır.
Çözünürlük
Yok.