BuildTasks.Csc görevi derlemeden yüklenemedi mi?


97

Buralarda böyle bir soru sorduğum için kendimi suçlu hissediyorum, ama bir kayboldum ve biraz yardım almak isterim.

Web uygulaması gibi bir kavram kanıtı bir bilgisayarda oluşturuldu ve farklı bir konumdaki başka bir bilgisayara indirmek için bir depoya yerleştirildi. Başlangıçta Azure'un iade sırasında otomatik olarak oluşturup yayınlayacağı bir otomatik oluşturma özelliği vardı, ancak bu kaldırıldı. Bir taraf bir sürü hariç tutulan değişiklikleri içerene kadar işler her iki tarafta da çalışıyordu. Şimdi aşağıdaki hatayı görüyorum:

"Microsoft.CodeAnalysis.BuildTasks.Csc" görevi
... \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll derlemesinden yüklenemedi. Dosya veya derleme 'file: /// ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll' veya bağımlılıklarından biri yüklenemedi. Sistem belirtilen dosyayı bulamıyor. Bildirimin doğru olduğunu, derlemenin ve tüm bağımlılıklarının kullanılabilir olduğunu ve görevin Microsoft.Build.Framework.ITask uygulayan bir genel sınıf içerdiğini onaylayın.

Sorunu aramaya nereden başlayacağına dair herhangi bir önerisi olan var mı?


Yanıtlar:


117

NuGet paketlerinin depoya bağlı olduğu ve her şeyi bozduğu ortaya çıktı. Project \ project \ packages dizinini depodan silmek, NuGet paketleri derlemede otomatik olarak getirdiği için tüm derleme sorunlarını çözdü.



1
Tüm projelerime nuget paketleri uyguladım. Tek sorun, onları kaynak kontrolüne eklemek istediğinizde, * .dll dosyaları varsayılan olarak "dışlanmış öğelerdir", bu nedenle külçeleriniz yerine yalnızca boş dizinleri yürütürsünüz. Bu yüzden nuget'i geri yüklemek bile yardımcı olmuyor çünkü dizinler yerinde, bu yüzden nuget her şeyin yolunda olduğunu düşünüyor.
Jiří Herník

Benzer iş parçacığı çözümü burada bulunabilir kx.cloudingenium.com/programming/net/…
Pramod Sutar

Bunun neden işe yaradığını bilmiyorum ... Nedeni nedir?
Richard Duerr

65

Projem için yeni bir şube oluşturduğumda bu hatayı aldım.

Beni bir saat çıldırttı. Bu sorunun kabul edilen cevabı dahil olmak üzere önerilerin çoğunu internet üzerinden denedim.

Daha sonra projeyi kapattım, tekrar açtım, temizledim ve hata gitti. Bu, bunun önbellek sorunu olabileceği anlamına gelir.

Neyse, sadece paylaşmak istedim.


6
Teşekkürler! Benim için öncelikle paket klasörüydü. Sonra hala hatayla karşılaştım, ancak
VS'yi

35

Ben de en iyi cevabı şanssız denedim, bu yüzden bin ve paketlerimin içeriğini sildim, VS'yi kapattım ve yeniden açtım ve şimdi her şey yolunda.


1
Bu bana yardımcı oldu. VS 2015'te Parallels'te mevcut bir ASP.NET projesini çalıştırmayı denedim ve bana yukarıdaki hatayı veriyordu. 'Bin' ve 'paketler' klasörlerini kaldırmak, VS'yi yeniden başlatmak ve temiz bir derleme hile yaptı!
A3mercury

18

Daha önce açıklanan tüm çözümleri denedim, ancak hiçbiri işe yaramadı.

Benim için çözülmesi Ne , oldu Microsoft.Net.Compilers güncellemek Nuget Paketi Yöneticisinden


2
Tam tersi problemim vardı. Çok iyimserdim ve en son RC sürümünü indirdim. En son kararlı sürüme geri döndüğümde sorun yoktu.
Cool Blue

1
2.8'den 3.1.1'e yükselttim ve sorunumu çözdüm. Teşekkürler!
Dan Csharpster

14
  • Çözümünüze sağ tıklayın.
  • Nuget Paketlerini Yönet'e gidin.
  • Arayın Microsoft.Net.Compilers.
  • Bağımlı projeleri gerektiği gibi yükleyin veya güncelleyin.

6

Yeniden oluşturun, çözümü temizleyin ve Visual Studio'yu yeniden başlatın benim için çalıştı.


1
Evet, burada da aynı, ancak sadece VS'yi yeniden başlatmak yeterli değildi - bilgisayarımı yeniden başlatmam gerekti, sonra iyi geldi.
Billious

Bilgisayarımı yeniden başlatmak hile yaptı. Nuget paketlerinin tüm temizlemelerini ve yeniden yüklemelerini yapmam gerekip gerekmediğinden emin değilim.
Don Rolling


4

Bu üç dizini silmek sorunu çözer.

  • / packages
  • /çöp Kutusu
  • / obj

NOT : Çözüme dahil olan tüm projelerden hem / bin hem de / obj silin (Test projeleri dahil).


3

TFS'de sorun gizleniyor, TestProject ... \ paketlerini TFS'den kaldırmanız, iade etmeniz, yerel dizinden silmeniz ve yeniden derlemeniz gerekir. Çalıştı!


3

Paketler klasöründen hepsini silip çözümü yeniden oluşturuyorum. Benim için çalıştı.


3

Aşağıdaki adımı kullanın:

1) Paket klasörünü silin.
2) görsel stüdyoyu kapatın.
3) projeyi açın ve projeyi yeniden oluşturun.



1

Benim durumumda çözüm şuydu:

Windows Gezgini'ni kullanın ve sorunlu yola gidin: C: \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

Bin klasörüne sağ tıklayın> özellikleri seçin> Salt Okunur'un işaretini kaldırın.


1

Benim durumumda çözüm şuydu:

  1. Çözüme Sağ Tıklayın.
  2. Bu Çözüm için Nuget Paketlerini Yönetin'e gidin.
  3. Arayın Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
  4. Aranan Paketi kaldırın.
  5. Visual Studio'yu yeniden başlatın.


0

Çözüme Sağ Tıklayın. Bu Çözüm için Nuget Paketlerini Yönetin'e gidin. Tarama Bölümünde Microsoft.Net.Compilers'ı arayın.



0

Vs2017 topluluğunda "inşa" menüsünde yeni bir öğe belirdi. Kullandıktan sonra kayboldu ve " Proje derleme paketlerini optimize et " gibi bir adla anıldı . Tıkladım ve her şeyi düzelttim, sadece yeniden başlat vb. Bunu iki makinede yaptım.

Yaptığı şey kaldırıldı Microsoft.net.compilers 2.10.0ve yerineMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

İşte buyrun - daha otomatik ...


0

Projem .Net Core 2.2 ile oluşturuldu, ancak .Net core 3.0 önizlemesini yükledim. Sistemimden .Net Core 3.0'ı kaldırdım ve tüm sınıf kitaplıklarımı gözden geçirerek Microsoft.Net.Compilers 3.0'ı kaldırdım, sonra yeniden oluşturdum ve çalıştı.


0

Çözümümü bir sürücüden diğerine taşıdım ve dosyalardan biri, bu yazıda açıklanan hatayı oluşturarak yok sayıldığım "kullanımda" olduğu için kopyalanamadı. Eksik dosyanın kopyalanması manuel olarak düzeltildi.

dosya: Microsoft.Build.Tasks.CodeAnalysis.dll Hedef dizin: packages \ Microsoft.Net.Compilers.2.1.0 \ tools


0

Benim için VS 2013'te bir MVC5 projesi açmaya çalışıyordum ve bu hatayı alıyordum, VS 2017'de açtım ve işe yaradı.

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.