2012-03-20 15 views
38

Pek çok projeyle ilgili bir Çözümüm var ve bunlardan biri ancak bir tanesi çalışıyor. Çalışmayan bir ConsoleApplication ve C# Sınıf Kitaplığı projesine dayanır. Kütüphane projesine bir başvuru ekledim ve ad alanı (kontrol ettiğim doğru) ekledim, ancak kitaplıklarımdaki sınıflara başvuruda bulunduğum her yerde:Proje başvurusu VisualStudio2010'da çalışmıyor

Tür veya ad alanı 'MyClass' olabilir bulunamadı (kullanma yönergesi veya montaj referansı eksik misiniz?).

Kütüphane projesi başarıyla oluşturuluyor (Bin klasöründe DLL'lerin görülebildiğini görebiliyorum) ve bir proje başvurusu denedim ve ayrıca DLL dosyasının kendisine bir başvuru denedim. Ne işe yaramıyor. Ayrıca, tüm projeler 'Herhangi Bir CPU' platform hedefi ile oluşturulacak şekilde ayarlanmıştır.

Başarısız bir şekilde forumlarda rastladığım her teklifi denedim. Neyin yanlış gittiğine biraz ışık tutabilir mi? kütüphane sadece .NET Framework 4 vardı oysa

konsol uygulaması, .NET Framework 4 Client Profile bir hedef çerçevesini vardı:

Teşekkür

Bu

sorunu çözdü. Konsol uygulamasını .NET Framework 4'a ayarladım ve her şey mükemmel bir şekilde oluşturuluyor.

+1

Sadece benim iki sent. C# büyük/küçük harfe duyarlıdır. Ad alanınızı kontrol ettiniz mi? – Steve

+0

Sınıfın bir kamu kurucusu var mı? –

+0

, antao'nun yanıtına aşağıda bir göz atın. Düzenli olarak git'in proje dosyalarımızı karıştırdığını görüyoruz. – increddibelly

cevap

83

Benim bahis kütüphane ve uygulama aranızda bir çerçeve uyuşmazlığı olduğunu ... senin kütüphane uygulaması senden daha üstün bir versiyonu ile inşa edilmez veya uygulamanızın bir müşteri profili lezzet ile inşa edilebilir olması durumunda Kontrol

+0

Evet, yerindeydin, aşağıda tam bir cevap koydum - ipuçları için teşekkürler Cédric – Richard

+7

Herkese teşekkürler, bu hızlı oldu! :) Evet, konsol uygulaması .NET Framework 4 İstemci Profili'nin bir Hedef çerçevesine sahipti, oysa kitaplık .NET Framework 4'ü kullanıyordu. Konsol uygulamasını ".NET Framework 4" e ayarlıyorum ve hepsi mükemmel bir şekilde oluşturuyor. Hatanın ifadesi göz önüne alındığında oraya bakmayı düşünmezdim, bu yüzden ipuçları için teşekkürler. Sanırım sadece bir kez yaptığınız ve bir dahaki sefere hatırladığınız hatalardan biri (...?) Teşekkürler! – Richard

+0

Aman Tanrım, bunu çözmek için bütün bir günümü harcayabilsem de, sonra sen varsın: D –

3

Muhtemelen, DLL'lerinizden biri konsol uygulamanızda başvurulan .net çerçevesinin bazı kısımlarına başvuruyordur. Örneğin, sınıf kitaplık projelerinizden biri asp.net sunucusu denetimleri içeriyorsa ve System.Web'e başvurursa, ancak konsol uygulamanız System.Web'e başvurmaz ve bu hata oluşmaz. Ancak açık değildir çünkü başvurulan DLL'ler GAC'de saklanır, böylece asla bin klasörünüzde görünmezler.

+0

Sanırım haklısınız, aşağıda tam bir cevap ekledim - yardımın için teşekkürler – Richard

+0

Merak ediyorum neden daha fazla upvotes yok –

1

Kulağa çok az geliyor,

Projenin referansını kaldırmayı ve tekrar eklemeyi denediniz mi? Konsol uygulamanızın tüm doğru referansları olup olmadığını kontrol edin.

Ayrıca .csproj dosyasını inceleyip orada her şeyin doğru olup olmadığını kontrol edebilirsiniz.

0

Sadece "" Sınıf Kitaplığı'nda "projenin sınıfları var mı, yoksa yalnızca bir .edmx Model modelini içeren bir veri erişim katmanı projesi olup olmadığını kontrol edin ve iyi oluşturuyor.

Good Luck