Visual Studio 2015 proje derlemeleri başarısız oldu, ancak hata yok


110

Projem derlemeleri başarısız oluyor ancak bana herhangi bir hata gösterilmiyor. Temizlemeyi ve yeniden inşa etmeyi denedim, bu işe yaramadı.

Sorunu belirlememe yardımcı olacağını umarak MSBuild çıktı ayrıntı düzeyini 'Teşhis' olarak değiştirdim ve şimdi takılı kaldım. Çıktı şu şekildedir:

1>Project 'ProjectMM.Data.Models' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\ProjectMM.Data.Models.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\bin\Debug\ProjectMM.Data.Models.pdb'.
All packages are already installed and there is nothing to restore.
1>------ Build started: Project: ProjectMM.Data.Models, Configuration: Debug Any CPU ------
2>Project 'ProjectMM.Data' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data\ProjectMM.Data.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data\bin\Debug\ProjectMM.Data.pdb'.
2>------ Build started: Project: ProjectMM.Data, Configuration: Debug Any CPU ------
3>Project 'ProjectMM' is not up to date. Input file 'c:\projects\projectmm\projectmm\app_start\bundleconfig.cs' is modified after output file 'C:\Projects\ProjectMM\ProjectMM\bin\ProjectMM.pdb'.
3>------ Build started: Project: ProjectMM, Configuration: Debug Any CPU ------
========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========

1
Hata Listesi pencereniz görünüyor mu yoksa görünmüyor mu?
Karthik

Görünüm menüsüne gidin -> Hata Listesi'ni seçin ve herhangi bir hata olup olmadığını kontrol edin. İdeal olarak bunu Hata Listesi'nde almalısınız. Hata Listesi pencerenizi açık tutun ve projeyi oluşturmayı deneyin ve ne olacağını görün ..
Karthik

4
İşte az önce olan şey: Bu soruyu gönderdim ve hemen bir yanıt alamayacağımı varsayarak projeyi kapattım. Tekrar açmamı, hata listesini açmamı ve yeniden oluşturmamı istediniz. Mükemmel çalıştı, hata yok, hepsi başarılı oldu!
Rob Greenlee

@RobGreenlee: Cevabımı görün, bahse girerim çözümü yeniden açtığınızda "Hata sekmesi" aktifti!
jpo38

Yanıtlar:


101

Aynı sorunu yaşadım ve Visual Studio'yu kapatıp yeniden açmak sorunu çözüyor.

Çözeltiyi Temizlemeyi de denedim ve Temizleme Başarısız Oldu.

Bunun hile yapmadığı başka senaryolar olabilir, ancak benim durumumda yeniden başlatmak bunu benim için çözdü.


22
Yeniden başlatmak yardımcı olmazsa. Farklı çerçeve projelerine referans veren başka bir Hedef çerçeve ile çözümüme bir proje eklediğimde sıklıkla bu sorunla karşılaşıyorum.
Bastiaan Linders

7
Benim durumumda VS'yi yeniden başlatmak veya çözümü temizlemek yardımcı olmadı. Ancak, .suo'nun .vs klasörünün altında kaldırılması sorunu çözdü
cellik

@cellik: Benim durumumda çalışmıyor. Değeri nedir .. Enterprise sürümünü kullanıyorum.
KMC

4
Bilgisayar saatimi CEST saat diliminden (GMT + 1) ABD saat dilimine (GMT-7) değiştirdikten sonra da aynı sorunu yaşadım, son yapının zaman damgasının gelecekte olduğunu idare edemediği anlaşılıyor. VS'yi yeniden başlattıktan sonra her şey yolunda.
martinh_kentico

2
.Suo dosyalarını silmek benim için de hile yaptı, yeniden başlatma ve temizleme işlemi olmadı.
Johann Marx

117

Tüm yapı hatalarını görmemeniz mümkündür.

"Build + Intellisense" den "Mesajlar" simgesinden sonraki açılır listeyi "Yalnızca Oluştur" olarak değiştirerek, Intellisense tarafından algılanmayan derleme sırasında atılan hataları görebileceksiniz. Aşağıdaki ekran görüntüsüne bakın:

İnşa etmek


3
Dostum sen benim kurtarıcımsın!
KMC

19
Neden "Yalnızca Oluşturma" hataları "Derleme + Intellisense" de mevcut olmasın?
CodyF

Bu, hata listesindeki hataların gösterilmesine yardımcı oldu, ancak hataların bulunduğu kod satırlarının kırmızı alt çizgileri yok. Sanırım bu bir Intellisense sorunu olmalı.
Drew

Benim için çalışıyor. Mine, yapı hatalarını gizleyen Build ve Intellisense'e geçmişti. Yalnızca Derleme çalışır ve derleme hatalarını görüntüler.
HerrimanCoder

1
Efendim günü benim için kurtardınız .. harika iş .. Çok teşekkürler
MA9H

32

Normal VS2015 raporlarının "derleme başarısız" olduğunu ancak hata penceresinde herhangi bir hata göstermediğini görüyorum. Eski bir komut satırı arka planından gelince, sonunda çıktı penceresine bakmaya başladım. Çıktı penceresi, derleyicinin raporlama hatalarını gösterdi, ancak bu hatalar hata penceresine yakalanmıyordu. VS2013 altında bu sorunu hiç görmedim.

VS'nin olağan kapatılması ve yeniden açılması bu durumu ortadan kaldırmadı. (VS2013'te bu, arkadaki XAML intellisense'i tekmelemenin ve düzeltilen bir "hatayı" düzeltmeyi durdurmanın yaygın bir yoluydu.)

Şimdiye kadar bu her zaman bir XAML sayfası CS dosyasındaki derleme hatalarıyla ilgiliydi. Sayfa dışı bir CS dosyasında gördüğümü hatırlayamıyorum.

Biri çıktı penceresini kontrol etmeyi anlayıncaya kadar, hata penceresinde intellisense raporlaması gibi şeyler XAML'deki nesnelere geçersiz referanslar, ancak hata penceresinde gösterilen hiçbir derleyici hatası, hatalar gibi "göründüğü" için ÇOK kafa karışıklığı yaratmaz. intellisense, XAML hatalarını bildirir. Ama aslında değiller. XAML hataları yalnızca CS dosyalarının derlenemediğinin ancak hata penceresinde hata bildirimlerinin bulunmadığının belirtileridir.


20
Hala görünmez bir hata penceresi ile mücadele olanlar için, derleyici hataları seçerek pencerede görünür alabilirsiniz görünür Sadece Oluştur içinde Filtre ErrorList için açılan etiketlenmemişse (Hata listesi penceresinde açılır ... Fareyi üzerine getirip ipucunu gözlemleyerek hangisi olduğunu anlayabilirsiniz).
Robert Harvey

2
@RobertHarvey ... bu anahtar ... ama NEDEN dünyada Intellisense yapıyı geçersiz kılar?
felickz

@RobertHarvey aynen buydu. Burada birinin önerdiği gibi, uyumsuz bir .net projesine başvurduğumu önerdiği gibi, çıktıyı Hata bölmesinde "Yalnızca Oluştur" olarak değiştirene kadar sorunun ne olduğunu anlayamadım. Bunu yaptığım anda bana doğru konuya işaret etti. Bahşiş için teşekkürler
David Gunderson

Bu cevap benim için ipucuydu. Olası engelleme derleme istisnaları için "CS hatası" (tırnak işareti yok) arayın.
granadaCoder

PS. Benim hatam, yöntemimde aynı değişken adını kullanmamdı. "string x = string.Empty;" Örneğin. İçinde "x dizisi" bildirimi de olan bir istisna işleyicim vardı.
granadaCoder

11

.vsVS2015 için benim için çalıştı gizli klasörü silme .

(SUO dosyalarının şu anda yaşadığı yerin burası olduğunu unutmayın)


9

Bu, farklı bir .net çerçeve sürümü projesine başvurduğunuzda gerçekleşebilir (benim durumumda v4.5.2 ve v4.5). Bunu düzeltmek sorununuzu çözecektir.


Bu tam olarak benim sorunumdu. Çözüme v4.5.2 olan yeni bir proje ekledim ve ona v4.5 olan başka bir projeden referans verdim. Yeni proje v4.5 olarak değiştirildi ve sorunsuz çalıştı.
Drew

7

Benim başıma gelen, bilgisayardaki saat dilimini +5: 30 olarak değiştirmek ve sonra tekrar -5: 00 olarak değiştirmek VS'nin kafasını karıştırdı. VS'yi yeniden başlattığımda, yine iyi çalıştı.


İpucu yok. Sürüm kontrolünü kullanıyorum, böylece zamanla karıştırılmış olabilir mi ???
MB

6

Tüm proje Framework sürümlerinizi kontrol edin ve hepsinin aynı olduğundan emin olun veya en azından proje A'nın B projesinin .NET Framework sürümü daha yüksek olduğunda B projesine başvurmadığından emin olun.


6

VS2015 Update 3 RC ve Xamarin (.Forms paylaşılan projesi) ile bu sorunu yaşadım.
Derleyici durmaz, hatalar yalnızca çıktı penceresinde gösterilir.
Bu sadece Xamarin projeleri için (VB.NET projeleriyle hepsi beklendiği gibi çalıştı) ...
Sorunun nedenini bulmaya çalışmak için, VS'de Derleme Çıktısını değiştirdim:
- "Araçlar - Seçenekler" menüsü
- sol panelden : "Projeler ve Çözümler: Oluşturun Ve Çalıştırın":
- "MSBuild Çıktı Verbosity" yi "Minimal" den "Diagnostic" e değiştirin

Bunu yaptıktan sonra, derleyici durdu ve hata gösterildi ..
Bundan sonra, seçeneği "Tanılama" dan "Minimal" e (daha önce olduğu gibi) geri ayarladım ve ... "Minimal" ile de çalıştı (emin olmak için VS'yi de yeniden başlattım) ...

Öyle görünüyor ki (en azından benim durumumda) sadece ayarı değiştirmek (dokunmak) (MSBuild Output Verbosity ") sorunu çözdü ve bu VS'de ve / veya Xamarin entegrasyon Yazılımında bir hata ...


1
Bu yanıt neden daha fazla oylanmıyor? Neyin yanlış olduğunu ayıklamak için mükemmel bir çözüm sunar
John Demetriou

Aşağıdaki cevabımı kontrol edin. Ben de sizin çözümünüzün doğru olduğunu düşündüm ama fark ettim ki "Teşhis" çıktı seviyesinde bile "Hata sekmem" boş kalacaktır. Diğerleri gibi, büyük olasılıkla "Hata sekmesini" aktif
tuttunuz

6

Bu sorunla karşılaşan tek kişi ben miyim bilmiyorum.

Benim durumumda, Visual Studio'yu açtığımda saat dilimi GMT + 1: 00 idi ve derleme başarılı oldu. Daha sonra saat dilimini GMT + 5: 30 olarak değiştirdim ve ardından Visual Studio'yu yeniden başlatmadan uygulamayı çalıştırmayı denedim, ancak derleme herhangi bir hata veya uyarı olmadan başarısız oldu.

Saat dilimini GMT + 1: 00 olarak değiştirdim ve yapı herhangi bir hata olmadan başarılı oldu.


Çok teşekkürler - bu beni bütün öğleden sonra çıldırtıyordu :-)
indra

2

Yaptığım şey (yukarıdakilerin hepsinden sonra ve hala çalışmıyordu) tüm çöp kutusu klasörlerini gözden geçirmek ve hepsini temizlemek oldu (yani başvurulan projeler de).

Bu benim için çalıştı, umarım senin için de olur.


2

Bu sorunu yaşadım ve usingboş bir ad alanını işaret ettiğim ortaya çıktı . Bu usingmaddeyi kaldırmak sorunu çözdü


2

Uyarıları kontrol edin ..

Hedef .Net Framework 4.5 ile yeni sınıf kitaplığım vardı, referans proje 4.0 iken bu da referans sorununa neden oldu.

Sınıf kitaplığını hedef .Net Framework 4.0 ile değiştirdikten sonra düzgün çalıştı.


2

Yukarıdaki cevaplardan hiçbir şey bana yardımcı olmadı. Birçok deneyden sonra nihayet sorunun projelerden birinde Microsoft.Net.Compilers v2.10.0'ın bir referansı olduğunu buldum. VS 2015, Microsoft.Net.Compilers'ın bu sürümünü desteklemeyen MSBuild v14'ü kullanır.


1

Benim için bu sorun özel bir CodeAnalysis kural seti ayarı " IncludeAll " ile ilgiliydi .

Derleyicinin bu ayarı gözlemlediği görülüyor:

  <IncludeAll Action="Error" />

Ancak IntelliSense, Kural Kimliği üzerinde "Uyarı" olan varsayılan EYLEM'i aldı. Bu, @RobertHarvey tarafından görülen, çıktıyı Yalnızca Oluştur'a göre filtrelediğiniz ve bir HATA olarak gösterilen davranışı açıklar , ancak Intellisene ile filtrelerseniz Yalnızca UYARI olarak görünür . Varsayılan Build + Intellisense ile çıktının filtrelenmesi deterministik görünmüyor!

Düzeltmem, uyarı olarak bir uyarı olmasını istediğim kuralı açıkça belirtmekti.

  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
    <Rule Id="CS0618" Action="Warning" />
  </Rules>

Bu potansiyel olarak Intellisense ile IncludeAll seçeneğini gözlemlemeyen bir sorundur . Bkz. Https://github.com/dotnet/roslyn/issues/7400


1

Bu, bir projeyi daha eski bir Çerçeve ile Visual Studio 2015'e geçirirken de olabilir. Hata Listenizdeki Uyarılarınızı kontrol edin. Proje gibi bir şeyin şu anda .NET sürüm 2.0 olduğunu ve .NET 3.5 veya üstünü gerektirdiğini görebilirsiniz. Benzer bir uyarı bulursanız, projenizin özelliklerine gidin ve gerekli .NET Framework'ü hedefleyin.


1

Lütfen uyarıları kontrol edin. Bazen de bazı uyarılar nedeniyle yapı başarısız oldu.


1

Bir çözümü açtığınızda, onu üretin, "Çıktı sekmesi" nde rapor edilen bazı yapı hataları veya uyarıları görebilirim, "Hata sekmesi" ise herhangi bir sorun bildirmez.

görüntü açıklamasını buraya girin

"Hata sekmesi" yapılandırmasının Tamam olduğunu görebilirsiniz ("Yalnızca derleme" ve "Tüm çözüm" seçili).

Derin bir araştırmadan sonra, bunun yalnızca "Hata sekmesi" oluşturmaya başladığınızda henüz gösterilmediyse meydana geldiğini belirledim!

Derlemeyi yapmadan önce "Hata sekmesini" etkinleştirdiyseniz (veya Görsel'i başlattığınızda mevcut sekmeyse), yeni bulunan hatalar / uyarılar doğru şekilde görünecektir:

görüntü açıklamasını buraya girin

Sanki "Hata sekmesi" yalnızca görünür olduğunda başlatılıyor (bu, ilk tıkladığınızda görünmesi daha uzun sürdüğü için doğru olabilir ...) ve değilse, derlemeyi toplamaz Sonuçlar...

Şimdiye kadar, bu soruna " inşa etmeden önce Hata sekmesini etkinleştirmekten " daha iyi bir yanıt bulamadım .

Ve bahse girerim bu yüzden "VS'yi yeniden başlatmak" bazen işe yarar. "Hata sekmesinin" boş olduğunu görürsünüz, VS'yi kapatır ve yeniden yüklersiniz, ardından VS önceki oturumdan geçerli etkin sekmeyi geri yüklediğinden "Hata sekmesi" varsayılan olarak gösterilir. Siz inşa ediyorsunuz ve şimdi "Hata sekmesi" dolduruluyor ...! Az önce şanslısın.

Not: Bir VS hatası bildirildi: https://connect.microsoft.com/VisualStudio/feedback/details/3132689


Bu çözüm benim için çalıştı. Bir kez başıma geldi - hiçbir uyarı görüntülenmedi. Hata Listesi penceresini açtım ve çözümü yeniden oluşturdum. Uyarılar bu sefer görüntülendi. VS'yi yeniden başlattıktan sonra bile aynı sorunu yeniden oluşturamıyorum.
IAN

1

Benim için derleme hatasız bir şekilde başarısız oldu, ancak bazı hafif araştırmalardan sonra MSHTML'nin referansının VS tarafından bulunamadığını öğrendim.

görüntü açıklamasını buraya girin

Davranış, Windows 10 güncellemesinden sonra ortaya çıktı. Düzeltmek için derlemeyi GAC'den kaydetmeniz gerekir. Nasıl yapılacağını öğrenmek için, cevabımı bulduğum yer olan Windows 10'da bu MSHTML DLL cevabına gidin .


0

Alındığı bu cevap

Derleme başarısız oldu, çıktı penceresinde hiçbir hata gösterilmedi.

Sorunun nedenini bulmaya çalışmak için, VS'de Çıktı Oluştur'u değiştirdim: - "Araçlar - Seçenekler" - sol panelden: "Projeler ve Çözümler: Oluştur ve Çalıştır": - "MSBuild Çıktı Ayrıntıları" nı " Minimal "ila" Teşhis "

Bunu yaptıktan sonra, bağımlılık projelerinde aslında bir hata olan gerçek nedeni buldum. Bağlı olduğum projemin benimkinden farklı bir çerçeve (daha yeni) için oluşturulmuş olduğunu düşünüyorum. Böylece sorunu yaratır. Hatalar yalnızca Çıktı Ayrıntılarını Teşhis'e koyduğumda çıktı


Bu sadece sorunu çözmekle ilgili değil, sorunu nasıl gidereceğinizi öğrenmekle ilgili. Bu yüzden hata ayıklama sürecine başka cevaplar da dahil ettim, çünkü sorunun ne olduğunu bulmama yardımcı olan buydu. Sorunun ne olabileceğine dair rastgele tahminler değil
John Demetriou

0

Benim için haydut ekli bir mülktü. Sorun, bir hata görememem değildi; hata şuydu:

Alt düğüm "2" erken çıktı. Kapatmak. Tanılama bilgileri, MSBuild _ *. Fail.txt adlı geçici dosyalar dizinindeki dosyalarda bulunabilir.

Başlangıçta, siz Visual Studio'yu kapatmayı denemediğiniz sürece yapı askıda kalır ve herhangi bir hata göstermez. Yeniden başlatıldıktan sonra, bina üzerine uzun bir süre askıda kalacak, ardından yukarıdaki mesajı görüntüleyecekti.

Gizli .vsklasörü silme , çözümü yeniden oluşturma / temizleme ve Visual Studio'yu yeniden başlatma işe yaramadı. Ekli mülkün kaldırılması; ergo, düzgün çalışmayan bir yerde gerçek kod olabilir.

Son çare olarak, sorun çözülene kadar son değişiklikleri tek tek kaldıracağım çünkü buradaki çözümlerden hiçbiri yardımcı olmadı.

Güncelleme

Geleneksel WPF uygulamalarını geliştirmeye alışkın olduğum için ., UWP ile s kullanarak XAML ad alanlarını "zincirleme" yapamayacağınızı bilmiyordum . Kullanarak ekli bir özelliği ayarlamaya çalışıyordum

My.Namespace:SomeClass.SomeProperty="SomeValue"

Oysa sadece olmalı

MyNamespace:SomeClass.SomeProperty="SomeValue"

İstediğim kadar güzel değil ama görünüşe göre gitmenin tek yolu bu.


0

Benim için ne işe yaradı:

Tüm belgelerin kapatılması sorunu benim için çözdü. (İntelliSense çalışmayı durdurursa aynı çözüm)

(sağ tıklama sekmesi - Tüm Belgeleri Kapat)


0

Bunu dene

Hariç "mstscax.dll"Bağımlılıklar dan benim için çalıştı.


0

Niş sorunu: Az önce aynı sorunla karşılaştım. Yukarıdaki cevapların hiçbiri yardımcı olmadı.

Sorun bir Konsol programı içindi, Main () yöntemini eşzamansız ** olarak işaretleyemiyordum ki ben de öyle yapıyordum. Emin değilim, neden Visual Studio projenin tam olarak neden oluşturulmadığını belirtemedi (her seferinde 0 hata ve 0 uyarı aldım). Visual Studio 2015 Enterprise kullanıyorum.

Düzeltme: Bunun için çalışma burada .


0

Bir dll dosyasını güncelledikten sonra, yeni dosyanın .NET Framework'ün daha yüksek bir sürümünü hedeflediği ortaya çıktı. Çözüm, Proje Özelliklerine gidip Hedef çerçeveyi uygun sürüme geçirmekti.


0

MSBuild.exe dizinde değiştirildi (C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin)

bu yüzden MSBuild.exe'yi vs2015 olan diğer bilgisayardan değiştiriyorum.

Şimdi iyi çalışıyor.


0

.NET Framework'ü 4.5.2'den 4.0'a değiştirerek çözüm buldum.

Soruna, şu anda seçili çerçeveyle uyumlu olmayan referans neden oldu.


0

Filtrelerimi yeni temizledim ve işime yaradı. Tüm filtreleri temizle simgesi mesaj kutusunun yanında.


0

Yeni bir proje başlatın. Tüm kodunuzu aşağıdaki ad alanına kadar ConsoleApp38450983450 kopyalayın.

ScrewedUpConsoleApp102343 ad alanının altındaki yeni projeye yapıştırın

Mükemmel oluşturun ve çalıştırın


-1

Tüm hataları görmek için birleşik giriş kutusunu hata listesinin sağ tarafında, 'Tüm Çözüm' olarak ayarlamalısınız. görüntü açıklamasını buraya girin


1
Bu oldukça eski sorunun zaten kabul edilmiş bir cevabı var, buradaki çok kısa ve açıklayıcı cevabınız ona çok şey katıyor gibi görünmüyor. Ayrıca, lütfen değil harici sitelerde görüntülere bağlantı ama Cevabınız resim eklemek!
Dux
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.