Herhangi bir hata veya uyarı olmadan başarısız Build'un nedenini bulma


145

WCF hizmetlerine başvuru içeren bir WebApplication var.

Visual Studio 2010 kullanarak oluşturma yaparken, Build herhangi bir hata veya uyarı yapmadan başarısız olur. Ancak bina .csprojkullanarak MsBuildbaşarılıdır.

Sorunu çözmek / teşhis etmek için Visual Studio'da ne denemeliyim. Lütfen yardım edebilir misiniz?

DÜZENLE:

Yapının başarısız olduğunu öğrendim,

  1. Durum Çubuğunda görüntülenen metinden.
    resim açıklamasını buraya girin

  2. Çıktı penceresinden:

    ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

5
Yapınızın başarısız olduğunu nasıl anlarsınız?
Sam, Reinstate Monica

5
Çıktı sekmesinde herhangi bir şey var mı?
Malice

15
Visual Studio'da Çıktı Penceresi ayrıntı düzeyini artırmaya çalışın. Sorunun belirlenmesine yardımcı olabilir. Ayrıntı düzeyi nasıl artırılır: blogs.msdn.com/b/saraford/archive/2008/10/07/…
Maxim Kornilov

6
VS2010'u yeniden başlatmayı veya hatta bilgisayarınızı yeniden başlatmayı denediniz mi?
comecme

2
@NahuelI. Başka bir projede bir kez daha benzer bir sorun yaşadım, stackoverflow'u aradığımda kendi sorumu geri aldım :-)
Abhijeet

Yanıtlar:


120

Ben de benzer bir durumla karşılaştım. Benim durumumda, csproj dosyasının BeforeBuild hedefinde görünen MSBuildVersioning paketinden ( http://www.nuget.org/packages/MSBuildVersioning/ ), csproj dosyasının BeforeBuild hedefinde görünen özel bir işlem başarısız oldu. normal bir yer.

Bunu "MSBuild proje oluşturma çıktı ayrıntı düzeyi" (en son Visual Studio'nun Araçlar sekmesinde [Yol: Araçlar> Seçenekler> Oluştur ve Çalıştır )) aşağıda gösterildiği gibi “ Tanı ” olarak ayarlayarak belirleyebildim . Bu daha sonra özel eylemin (benim durumumda HgVersionFile) başarısız olan olduğunu gösterdi.

Değiştirilen ayarı gösteren Visual Studio'dan ekran görüntüsü.


2
Mükemmel bulmak Richard - Her iki ayrıntı düzeyini teşhis için ayarladığınızda gerçekten yararlı bilgiler
Dai Bok

3
Benim gibi clueless olan herkes için: bu yöntemi kullanmak için çıktı penceresinin içeriğini aramanız gerekebilir. Oluşturma hatalarım #pragma warning disabledeyimler tarafından gizleniyordu ve yalnızca çıkış penceresinde 'hata' aradığımda görülebiliyordu.
sirdank

Ayrıntılarımı tanılamaya ayarladıktan sonra bir System.OutOfMemoryException alıyorum. Bilgisayarımın kullanılabilir belleğinin% 98'ini kullanıyordum. Bu harika bir cevap!
TxRegex

1
Bu, VisualStudio 2017'de de sorunu çözüyor. Çok teşekkürler.
H. Aydın

1
Benim için TFS oluşturmak için Queue New Build kullanıyordum ve Queue Build iletişim kutusu, açabileceğim ve daha sonra derleme günlüğünde sorunu görebildiğim ikinci sekmede bir ayrıntıya sahip.
AaronLS

135

Build + Intellisense hata mesajlarını yuttu. Yalnızca Derleme seçildiğinde bunlar görüntülenir.

Ekran görüntüsü


Bunlardan hiçbirinin hata göstermediği duruma girdim :(
Imad

1
Vay canına, bu benim için VS 2019'un yeni versiyonunda nasıl bir şey olduğunu çalıştı. Teşekkürler dostum!
Carter

1
@AbuAbdullah Benim için çalıştı. Başkalarına yardım etmede iyi iş çıkardın.
nam

teşekkürler, günümü kurtardı
Bikram Limbu

59
  • Çözüm birden fazla proje içeriyorsa, bunları birer birer oluşturmayı deneyin.
  • Visual Studio'yu yeniden başlatmayı deneyin.
  • Bilgisayarı yeniden başlatmayı deneyin.
  • " Tümünü yeniden oluştur " seçeneğini deneyin
  • " Clean Solution " ı deneyin, ardından " vspscc " dosyalarınızı ve " vssscc " dosyalarınızı kaldırın ve sonra Visual Studio'yu yeniden başlatın ve sonra " Tümünü Yeniden Oluştur " u yeniden başlatın .

105
Ve işe yaramadığında yeni bir iş bulmalı mıyım?
Alex Zhukovskiy

2
Sadece VS2013'ü yeniden başlatmak bana yardımcı oldu. Sınırlı kaynakları olan bir sanal makine üzerinde çalışıyordum ama bununla bir ilgisi olup olmadığından emin değilim.
Jmaurier

2
Bu sorunu yaşıyorsanız çözümü temizleyemezsiniz.
H. Aydın

1
Bana yardımcı olan tüm VS örneklerini kapatmak (hatalı olanı kapatmak için yeterli değil) ve sonra .vsklasörü silmek ve VS'yi yeniden başlatmaktır.
EliSherer

22

VS (2013 Pro, Win 8.1) yeniden başlatma benim için yaptı.


VS 2015 Community Win 7, tek bir MVC Projesi ile. Aynı çözünürlük.
maplemale

2
VS 2017 Community Win 10. Sanırım bir çözüm aramadan önce kapatıp tekrar açmayı denemeliyim!
DreamTeK


9

Sasse'nin cevabını genişletmek istiyorum .

Visual Studio 2015 Güncelleştirme 2 ile ilgili sorunu gidermek için her projeyi tek tek oluşturmak ve her derlemeden sonra çıktı penceresine bakmak zorunda kaldım.

Bir proje bana verdi

Msgstr "'BeforeNomeNamespace' ad alanında 'SomeNamespace' türü veya ad alanı yok (bir montaj başvurusu eksik mi?)".

Hata Listesi penceresinde hata yoktu, ancak derlemede "Başvurular" altında sarı bir uyarı işareti vardı.

Daha sonra referans projesinin 4.5.1 ve referans alınan projenin 4.6.1'i hedeflediğini gördüm. 4.6.1'den 4.5.1'e değiştirmek, genel yapının başarılı olmasını sağladı.


1
Eh, bir seferde bir proje oluşturmak gerekli olmayabilir, ama bir şey kesin: dikkatle bir kelime "eksik" için çıkış penceresine (daha iyi henüz kopyalayıp not defterine yapıştırın ve Ctrl + F find kullanın) bakın. Hatalar listesinde görünmüyor, ama kesin olarak çözümünüzü bozuyor. -.-
Dovydas Navickas

5

Hiçbir şey benim için çalışmıyor, bu yüzden .suo dosyasını sildim, VS'yi yeniden başlattım, yansıtılanları temizledim ve sonra yapı işe yarayacaktı.


5

Bu sorunun birden fazla cevabı olduğu anlaşılıyor, bu yüzden birisinin zamandan / stresden tasarruf etmesini umarak kişisel deneyimimden benimkini ekleyeceğim.

Çözümünüzdeki tüm projelerin aynı .NET sürümünü hedeflediğinden emin olun.

OP'ye benzer şekilde 0 hata vardı, ancak derleme başarısız oldu. Ancak, bir projenin (yüzlerce işe yaramaz XML uyarısı arasında gömülü ...) bir projenin, onu referans alan bir projeden farklı bir .NET sürümünü hedeflediğini söyleyen bir uyarısı vardı. Tüm sorun benim çözümüm içinde bir projenin geri kalanı 4.5.1 hedeflerken, .NET 4.5.2 hedeflemesiydi. O gerektiğini (bu sadece bir uyarı olduğunu dolayısıyla neden) ama ne yazık ki, bu yapı kırdı bu tutarsızlık bile çalışır.

Garip kısım bir süre iyi inşa edilmiş / koşmuştu, ancak aniden inşa bir kez bu soruna neden olarak başarısız olmaya başladı. Farklı .NET hedef sürümleri hakkında şikayet etmeye başlamak için ne yaptığından emin değilim, ancak Visual Studio'da asla çözülmeyecek bazı gizemler olduğunu hissediyorum.


1
Görünüşe göre yeni bir proje ekledim ve farklı bir .Net hedef çerçeve sürümü vardı - bunu düzelttim ve derleme hala başarısız olmasına rağmen, derlemeyi bozan hatayı görebildim. Teşekkürler.
Fijjit

4

Çıkış penceresine gidin, çıkış penceresinde 'hata' arayın, TADA


3

Önce "Çözümü Temizle", sonra solu yeniden oluşturun.

Çalışmazsa, Çözümü kapatın ve çözümü yeniden başlatın.

Bunları deneyin, umut kesinlikle işe yarıyor.


3

Diğer bir olasılık ise, Visual Studio'nun Yönetici olarak çalışması gerektiğidir, bu yerel IIS sunucusuna veya diğer dağıtım gereksinimlerine dağıtım ile ilgili olabilir.


3

başvurulan projelerden biri .NET framework'ün geçerli projenizden daha yüksek bir sürümü olması durumunda bu durum oluşabilir.


3

Aynı sorunu yaşadım ve bu sorunu " Liste + Intellisense" Hata Listesi seçeneklerine kadar takip ettim .

Bu seçenek seçilirse, listede hiçbir hata gösterilmez. " Yalnızca Derleme " ye geçin ve hatalar beklendiği gibi görünür.

Visual Studio'da bir hata gibi görünüyor. Görsel stüdyoyu yeniden başlatmak bu sorunu çözdü .


2

Çözümüme yeni bir proje ("TestCleaner" adlı) ekledikten sonra benzer bir sorun vardı: Derleme başarısız, hata yok.

Çıktı ayrıntı düzeyini artırdım (Richard J Foster'ın talimatlarına bakın) ve çıktıda "başarısız" araması yaptım. Hızlı bir şekilde hangi projenin başarısız olduğunu ve neden olduğunu gördüm: "TestRunner" projesi " hata CS0246: tür veya ad alanı adı 'TestCleaner' bulunamadı" (kodda hiçbir sorun vurgulanmış olsa bile).

TestRunner referanslarını kontrol ederken, TestCleaner referansının yeterince çözülmemiş olarak işaretlendiğinden ve yolun referans özelliklerinde eksik olduğundan emin olun. Silme ve yeniden ekleme sorunu çözmedi. Yine, hiçbir açıklama neden.

çözülmemiş referans

Sonunda sebebini keşfettim: "TestCleaner" diğer projelere göre farklı bir hedef çerçeve kullanıyordu. Net 4.5.2; diğerleri 4.5 idi.


2

Sadece tamamlama uğruna ve belki de gelecekte aynı hatayla karşılaşan birine yardım etmek için Mahapps metro arayüzünü kullanıyordum ve bir pencerenin XAML'ini değiştirdim, ancak arkadaki koddaki kısmi sınıfı değiştirmeyi unuttum. Bu durumda, derleme hata veya uyarı olmadan başarısız oldu ve ayarlardan çıkışın ayrıntı düzeyini artırarak bunu başardım:

Hata bölmesi

çıktı bölmesi


5
ayrıca hata filtresinde 'build' intel 'değil' build 'seçeneğini seçin.
niico

2

Ben de aynı problemi yaşadım. Hata listesi penceresinde "İçerdiği öğeleri göster" ve "Oluşturulan sorunları göster" şeklinde 2 açılır menü bulunur. Bu adlar, açılır menünün üzerine getirildikten sonra görünür. "Oluşturulan sorunları göster" açılır menüsü "Derleme + IntelliSense" olarak ayarlandı ve "Yalnızca Derleme" olarak değiştirildikten sonra listede hatalar göründü.


2

Benim için Target Frameworksorun oldu.

Projem Target Frameworköyleydi 4.5.2ve başvurulan projenin Target Frameworköyleydi 4.6.1.

Güncellenmiş kez projemin en Target Frameworketmek 4.6.1, konu sabit.


1

Aynı sorunla karşılaştım! Sadece bin klasörünü silin ve yeniden başlatın VS. Bu kadar. test edildi VS 2013.


Bin ve obj klasörünü silerek bu sorunu çözmeye çalıştığımda düzeltti. Ayrıca çok garip bir şey olmuştu obj klasörün silmek için yönetici hakları gerekli.
DAG

1

Benim için çözen, .vsklasörü çözümün kökünden silmek ve Visual Studio'yu yeniden başlatmaktı.

Hatalar Hata Listesi bölmesinde gösterilmemesine rağmen, Derleme Çıktısında hala mevcut olduklarını söylemek de önemli olabilir.


1

Projenizi Powershell komut satırından oluşturmayı deneyin:

dotnet build

Sonra Visual Studio gizleme ve derleme hata iletilerini aramak çalışsa bile komut satırı çıktısında herhangi bir hata görebilirsiniz.


0

Bu, bir asp.net projesine yeni bir sayfa ekledikten sonra başıma geldi.

Yaptığım şey sayfayı hariç tutmak, tekrar başarılı bir şekilde oluşturmasını sağlamaktı.

Sonra tüm kod yorum ile sayfayı geri ekledim. Başarı.

Sonra kod yavaş yavaş uncommented ve sonra hepsi çalıştı.


0

Birkaç problemi sildikten sonra da aynı problemi yaşadım. Kod girdikten ve kaldırdığım denetimlerden biri için bir "Tanımı Göster" yaptım hataları çıktı.

Ayrıca projelerimden birinde daha yüksek bir çerçeve hedefliyordum, bu yüzden de sorun olabilirdi.


0

Her şeyi denedim ama hiçbir şey benim durumumda çalıştı sonra o zaman bu sorunu benim için oldukça iyi çözdü bu ayarları değiştirdim. İkinci izleyicilerden herhangi bir yardım alabilirse deneyin. Bu ayarlar sizin durumunuzda değişiklik gösterebilir, ancak dahil olan tüm DLL'leri başlangıçta tuttuğunuz yapılandırma ayarlarıyla oluşturduğunuzdan emin olun (resimde belirtilmiştir.).Yapılandırma ayarları

Burada resim.

Şerefe!


0

Nuget paketi 'Microsoft.Net.Compilers' yüklüyse, Visual Studio sürümünüze (Build Tools sürümü) uygun olduğundan emin olun.

Sürümler 1.x C # 6.0 (Visual Studio 2015 ve güncellemeler) anlamına gelir. Örneğin, 1.3.2

VS2015 kullanıyorsanız, bu yüzden 1.x'in üzerindeki sürüme yükseltmeyin

https://stackoverflow.com/a/44397905/3862615


0

Eski makinede gerçekten eski bir projem vardı. Makineyi kapattığımda proje doğru bir şekilde inşa ediliyordu. Bugün, inşa hatası alıyorum ama hata mesajı almıyorum. Yukarıdan bazı önerileri denedikten sonra, şans yok.

Visual Studio 2015'te TOOLS> Seçenekler> Projeler ve Çözümler> Oluştur ve Çalıştır altında Ayrıntılı MSBuild'i açtım

Yapı hakkında birkaç ayrıntı verdi ama hata yok. Bundan sonra Uzantıları ve güncellemeleri (Araçlar> Uzantı ve Güncellemeler) kontrol etmeye çalıştım ve bunların birkaçının güncellenmesi gerektiğini buldum.

Nuget Paketi kurulduktan sonra suçluydu.

resim açıklamasını buraya girin



0

Her şey çalışmadığından, projeyi bir çözüm olarak (.sln) açarken hataların gösterilmediğini, projeyi bir proje olarak açarken ise hata olduğunu gösterdi.


0

Aynı sorunu yaşadım, Araçlar -> Seçenekler -> Projeler ve Çözümler / Oluştur ve Çalıştır -> MSBuild proje oluşturma günlük dosyası ayrıntı düzeyini [ Tanı ] değiştirdim. Bu seçenek, günlüğümde hatalar gösteriyor, bazı nedenlerim VS'nin Hatalar sekmesinde Hata göstermemesi nedeniyle!

resim açıklamasını buraya girin

Yukarıdaki ayarları ve çıktı kopyasında not defteri / texteditor içinde yapın ve hata arayın. Size tüm hataları gösterecektir.


0

Visual Studio'yu yeniden başlatmak benim için çalıştı. Ayrıca Visual Studio'yu normal olarak yeniden başlatmayı deneyin (Yönetici Olarak Çalıştırmayın). Sistemi Yeniden Başlatmayı deneyin ve yukarıdaki adımı tekrarlayın.


0

Bu semptomu yeniden üretmenin farklı bir yolu:

Varolan bir çözüme yeni bir proje ekledim ve derleme çıktısı "X türü veya ad alanı adı bulunamadı ..." gibi hatalar bildirdi, ancak hata listesinde hata gösterilmedi.

Bahsettiğim sınıflar aynı çözümdeki diğer projelerde (referans olarak verilen) idi.

Yanlışlıkla yeni projede .net'in daha önceki bir sürümünü seçtiğim ortaya çıktı. Diğer projelerle aynı sürüme geçtikten sonra, her şey hatasız inşa edildi.

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.