2009-03-11 17 views
1

Muhtemelen bu soruyu yanlış bir şekilde soruyorum (ve bu Google'ın neden yardımcı olmadığı olabilir), ama işte burada:VS C# derleyicisinin bir başvuru referansını derlemediği durumlarda hangi senaryolar mümkündür?

Visual Studio'da bir C# projesi derliyorum (buna Project A diyelim, başlangıç ​​projesi Proje B'ye bir atıfta bulunulmuştur. Proje B'nin bir Proje C'ye bir atıfı vardır, bu yüzden A inşa edildiğinde, B için dll'ler C'nin d dizininde olduğu gibi A'nın bin dizinine yerleştirilir (çünkü B'nin C'ye ihtiyacı vardır, ve A gerektirir B). Bununla birlikte, son zamanlarda bazı değişiklikler yaptım, böylece proje C'nin çözümü, çözümü yeniden oluştururken Proje A'nın bin dizinine gitmeyecek. Bunun gerçekleşmesi için ne yaptığımı bilmiyorum.

Çözümün kendisinin ayarını değiştirmedim ve yalnızca proje dosyalarına ek başvurular ekledim. Kod bildiğim gibi, Proje B'deki gerçek kodların çoğunu Proje C'deki sınıflara referans olarak verdim, fakat referansı projenin kendisinden kaldırmadım (bunun önemli olduğunu düşünmüyorum). Belki de C# derleyicisinin bir şekilde, C projesini oluşturmamalarını sağlayacak şekilde optimize ettiği söylendi, ama gerçekten de fikirlerin dışındayım. Birinin

'dan önce benzer bir şeye dönüştüğünü düşünürmiyim? Teşekkürler!

cevap

0

Çözüm gezgininde çözüme sağ tıklayıp proje bağımlılıklarınızı kontrol edebilirsiniz.

Benim tahminim olduğunu, bir şekilde, B Alternatif C.

üzerinde

itimat etmediğini işaretlemişsiniz: çözüm özelliklerinde geçerli Yapılandırma Projesi C

inşa ayarlı olduğundan emin olun
1

Yapı yapılandırmanızı değiştirdiniz mi? Visual Studio 2008'de, varsayılan Çözüm Yapılandırması Herhangi bir CPU iken varsayılan Çözüm Yapılandırmaları Debug ve Release'dir. Deneyimlerim, Çözüm Yapılandırması/Platform çiftinin benzersiz bir yapılandırma yapılandırmasına sahip olduğunu gösteriyor. Diğer bir deyişle, Hata Ayıklama/Herhangi Bir CPU ve Sürüm/Herhangi Bir CPU, her biri kendi ayarlarına sahip iki bağımsız yapı yapılandırmasıdır. Farklı bir yapılandırma seçtiyseniz, orijinal yapılandırmanın ayarları otomatik olarak uygulanmaz; Aralarında hiç durmadan geçiş yapmak için, tüm yapılandırmalarınızın ve çözümünüze eklediğiniz tüm yeni projelerin bağımlılıklarını ayarlamanız gerekir.