Dosyayı sağ tıklayıp "Kullanımları Bul" seçeneğini seçerek tek bir dosyanın kullanılmayan referanslarını nasıl bulacağımı biliyorum. Projemdeki kullanılmayan tüm sınıfların veya dosyaların listesini görebilmemin veya alabilmemin bir yolu var mı ?
Dosyayı sağ tıklayıp "Kullanımları Bul" seçeneğini seçerek tek bir dosyanın kullanılmayan referanslarını nasıl bulacağımı biliyorum. Projemdeki kullanılmayan tüm sınıfların veya dosyaların listesini görebilmemin veya alabilmemin bir yolu var mı ?
Yanıtlar:
Önce "Çözümdeki Hataları Analiz Et" i etkinleştirin (durum çubuğundaki Yeniden Paylaşım simgesine sağ tıklayın).
Ardından çözüm düğümünü sağ tıklayın ve "Kod Sorunlarını Bul" u seçin. "İnceleme sonuçları" araç penceresinde, kullanılmayan tüm sınıfları (ve daha birçok kullanılmayan sembolü) almak için "Sorun türü" ne göre gruplayabilir ve "Tür veya tür üyesi hiçbir zaman kullanılmaz" ifadesini arayabilirsiniz.
İkinci bir seçenek ("Çözümdeki Hataları Analiz Et" seçeneğini etkinleştirdikten sonra), kullanılmayan herhangi bir sınıfa gitmek, Alt + Enter tuşuna basmak, "'Üye yazın veya yazın ...' için seçenekler incelemek" | Bu türdeki tüm kod sorunlarını bulun | Tüm çözüm.
@Ulrichc'in çözümü kulağa mükemmel geliyor ve Castle veya Ninject gibi herhangi bir Bağımlılık Enjeksiyon çerçevesi kullanmadığınız küçük ila orta ölçekli projeler için iyi çalışıyor, ancak ya DI kapsayıcı [örneğin Castle] kullanıyorsanız ve aşağıdaki gibi bir şeye sahipseniz:
public class IoC
{
private WindsorContainer _container;
private IoC()
{
_container = new WindsorContainer();
}
public static void RegisterFromAssembly(Assembly assembly, string classEndsWith, LifeTime lifeTime)
{
var lifestyle = ConvertLifeStyleType(lifeTime);
_container.Register(AllTypes.FromAssembly(assembly)
.Where(type => type.Name.EndsWith(classEndsWith))
.WithService.AllInterfaces()
.Configure(c => c.LifeStyle.Is(lifestyle))
.WithService.FirstInterface());
}
}
Gördüğünüz gibi RegisterFromAssembly, derlemenin içindeki tüm türlerden geçer ve körü körüne [yöntemler parametresine göre] bunları Çalıştırma zamanında kapsayıcıya ekler.
Kapsayıcılarınızın içinde kayıtlı veya çözülmüş türler için gezinme sağlayan Agent Mulder eklentisi gibi bir şeye ihtiyacınız olacak . Bu yine görsel olarak [muhtemelen tasarım zamanı] işe yarayabilir, ancak kullanılmayan sınıfı her kaldırdığınızda, güvende olduğunuzdan% 80 emin olmak için uygulamanızdaki [olası her katman] içindeki tüm testleri çalıştırmadığınız sürece gerçekten emin olamazsınız. Hikayenin ahlaki: Bir sınıf, Yeniden Paylaşım'a alışkın görünmeyebilir, ancak Bağımlılık Enjeksiyonunu kullandığınızda yeniden dirilebilir.