Dosya veya 'Antlr3.Runtime (1)' derlemesi veya bağımlılıklarından biri yüklenemedi


83

MVC4Projemi çalıştırmaya çalışırken bu hatayı alıyorum , diğer makinelerimde geçen zamana kadar iyi çalışıyordu, ancak başka bir makineden çalıştırmaya çalıştığımda bana şu hatayı veriyor:

Dosya veya derleme 'Antlr3.Runtime (1)' veya bağımlılıklarından biri yüklenemedi. Bulunan derlemenin bildirim tanımı, derleme başvurusuyla eşleşmiyor. (HRESULT istisnası: 0x80131040)

Bu konuda okuduktan sonra burada ben denedim yapmak :

Install-Package Antlr3.Runtime -Pre

ama yardımcı olmadı, herhangi bir fikir?


1
Önceki yüklemeyi kaldırmayı denediniz mi? Yukarıdaki sürümü yüklemeden önce sürüm?
Spock

1
Herhangi bir sürümü güncellemedim. Makineyi yeni değiştirdi
Maven

Çözüme sağ tıklayıp ardından "Nuget paketi geri yüklemesini etkinleştir" seçeneğine tıkladınız mı?
TS

Buradaki yanıtların hiçbiri yardımcı olmadı , ancak bu kopyaya verilen yanıt işe yaramadı.
DCShannon

Yanıtlar:


103

Ücretsiz Nlog günlük kaydı platformunu denerken de aynı sorunla karşılaştım.

Bu bana yardımcı oldu:

Dosya Gezgini'ne% TEMP% girin ve tüm geçici dosyaları silin.

Bundan sonra, Visual Studio'da MVC5 projemi başlatırken hatayı almadım.


Hata mesajımda "(1)" yoktu, ancak bu çözüm yine de çalıştı
Roberto

10
Bunun için teşekkürler. Bazen Visual Studio'nun
içgüdüsüne

Harika !! Bunun için çok fazla saat harcadım. Benim sorunum derleme kısmı değildi, ancak pubxml dosyalarını kullanarak yapıları yayınlamak, yerel makinemde iyi çalışırken Jenkins Sunucusunda başarısız oluyordu. Geçici klasör yukarıda açıklandığı gibi silindikten sonra, yayınlama yapıları sorunsuz çalıştı.
yyardim

41

Aşağıdakilerden birini yaparak ASP.Net için geçici dosyaları silmeyi deneyin:

  • Dosya Gezgini'ne% TEMP% girin ve tüm geçici dosyaları silin.
  • "C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files" klasörüne gidin ve tüm dosyaları silin.

7
Teşekkür ederim. Benim için yardımcı olan seçenek 2 idi
Haham

@Rabbi'ye katılıyorum. Sorunumu çözen 2. seçenek. Keşke cevabınızı 10 kez yükseltebilseydim! Çok teşekkür ederim. :)
Annie Lagang

31

Geçici ASP.NET Dosyalarını da silmeyi unutmayın Framework64. Bu benim için hile yaptı.

  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

Mükemmel teşekkürler, kabul edilen cevabı bu gönderiyi görene kadar boşuna denedim, Framework64 benim için yaptı
Joshua Ohana

Bu benim ve başvurulan başka bir proje-dll için çalışıyor. Benim durumumda Web projesindeki tüm referanslar bozuktu, mesaj şuydu: "Dosya veya derleme 'her neyse.dll' veya bağımlılıklarından biri yüklenemedi". Temizledikten sonra dll referansı oluşturuldu ve her şey yolunda gitti.
Fer R

27

Bunun birine yardım etmesi durumunda.
MVC 5 Uygulamasıyla bu sorunu yaşadım. Antlr3.Runtime.dll dosyasını bin dizininden silmek ve yeniden oluşturmak sorunu çözdü.


Bu benim için çalıştı. Teşekkürler. Ancak bu hatanın gerçek nedeninden hala emin değilim. Biri açıklayabilir mi?
mukulsharma1146

1
Benim durumumda bunun yerine
WebGrease.dll'yi

teşekkür ederim ... bu sorunu çözmek için 3 saat harcadım ve bu YSOD'umdan kurtulan adım.
Joshua K

18

Benim sorunum, WebGrease'in en son sürümünün Antlr 3.4.1.9004 sürümünü yüklemesiydi. WebGrease'i kurup Antlr'ı 3.5.0.2 sürümüne güncelledikten sonra hata ortadan kalktı.


11
Benim sorunum tam da bu konuydu. Microsoft.AspNet.Web.Optimization, WebGrease ve Antlr'ı (bu sırayla) kaldırarak, ardından Microsoft.AspNet.Web.Optimization paketini yükleyerek, WebGrease paketini güncelleyerek ve son olarak güncelleyerek Paket Yöneticisi Konsolundaki bağımlılık zincirini çözmek zorunda kaldım -En son sürümleri almak ve Antlr sürüm sorununu düzeltmek için Antlr'ı (bu sırayla) paketleyin.
Wade

13

Benim için web.config dosyasındaki bu düğümü kaldırmak hata mesajından kurtuldu:

<identity impersonate="true" userName="" password="">

Ama benim için gerçekten işe yarayan şey, C: \ Windows \ Microsoft.NET \ Framework {version} (veya Framework64) içinde bulunan Temporary ASP.NET Files klasörüne (taklitte belirtilen userName'e) tam erişim vermekti.

Kimlik, IIS'deki Web Sitesi Uygulama Havuzu Ayarları'nda da saklanabilir.

NuGet paketinizin doğru sürümle doğru şekilde yüklendiğinden emin olun. Başka hiçbir şey işe yaramazsa, referansı yerel bir klasörden yeniden eklemeyi ve Yerel Kopyala olarak ayarlamayı deneyin.


1
Bu benim için sorunu çözdü. web.config, hazırlama ortamında kimliğe bürünme ayarına sahipti ve bu kullanıcı hesabı geliştirici dünyamda yoktu.
ttomsen

Üç öneriyi de denedim ve hiçbiri işe yaramadı. Hala bir YPOD alınıyor 1. Web.config'imde <kimlik etiketi yok 2. Hem iis_usrs hem de kullanıcılar \ johnny için 'tam kontrol' verdim 3. Son seçenekler bir hack gibi görünüyor
dannyrosalex

Bunu şu komutu kullanarak ASPNET_REGIIS -GA impersonatedusername
çözdüm

Bu, sorunumu çözmeye yardımcı oldu. Yerel olarak çalışıyordum ve bu öğede belirtilen hesap adının dev klasörüme erişimi olmadığı için.
Aamol

Teşekkürler, bu çözüm gerçekten yardımcı oldu.
Josue Barrios

11

Herhangi bir çözüm sorununuzu çözerse, derlemenin sürümünü web.config'i doğrulayın

<dependentAssembly>
        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
      </dependentAssembly>

Teşekkürler Paketlerin güncellenmesi ve sorunla karşılaşılması durumunda, bu cevap benim için çalıştı.
Fereydoon Barikzehy

Bu montajı çıkardım, sonra benim için çalıştı. Teşekkür ederim!!
User6667769

8

Basit yollardan biri, antlr ve webgrease'i güncellemektir

  1. Goto Paket konsol yöneticisi
  2. sonra bu kodları tek tek uygulamayı deneyin
  3. PM> Güncelleme Paketi Antlr
  4. PM> Güncelleme Paketi WebGrease

Sonunda Hata Çözüldü


2

Benim için bu, Antlr'ın hata ayıklama ve çalışma zamanı sürümleri arasındaki uyumsuzluktan kaynaklanıyordu.

Sonunda farklı bir Antlr paketi kurarak çözdü: Install-Package Antlr


2

Referansı manuel olarak eklerseniz Antlr3.Runtime.dll'nin kilidini açmayı deneyin: görüntü açıklamasını buraya girin


2

Web.config içinde impersonate = "true" ile ilgili bir sorun vardı, çalıştığı satırı kaldırdım !!

Yine satırı yerleştirdim ve kullanıcısı kimliğe bürünme hesabı için yönetici izni verdim, tüm uygulamam çalıştı :)


1

Kimliğe bürünme kullanıyorsanız. Cevap, taklit ettiğiniz kullanıcıya aşağıdaki klasörlere erişim izni vermektir:

  1. C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files

  2. Site dizininiz.

ayrıca aşağıdaki gibi klasör oluşturmanız gerekebilir:

C:\Windows\Microsoft.NET\Framework\[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files\[Application-Name-Goes-Here]

Ama önce öncekini dene, benim için çalıştı.

Kimliğine bürünülen kullanıcıya geçici verileri kaydetme ve dll dosyalarını ve gerekli dosyaları dizinlerden alma izni vermek için bu iki değişiklik

Güncelleme, Windows 10 için Bu benim için çalışan çözüm

Her iki adımı da yapacağız, ancak bunun yerine C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files

Dosya gezginine% TEMP% yazın ve taklit ettiğiniz kullanıcıya aşağıdaki klasöre erişim izni verin: C:\Users\[UserName]\AppData\Local\Temp\Temporary ASP.NET Files


1

Basit bir çözüm buldum. Kendi proje klasörünüze gidin ve bir paketler klasörü bulun.

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


0

Bir projede WebGrease'e başvurum vardı, ancak packages.config'de karşılık gelen öğe yoktu. Referansı projeden kaldırıyorum çünkü artık ihtiyacım yok. Şu an çalışıyor.


0

Bu gönderideki tüm cevapları denedim ama hiçbiri benim için işe yaramadı.

Bu yüzden, tüm projelerin içindeki / bin dizinlerini çözümümden sildim, çözümü temizledim ve yeniden oluşturdum ve sonunda işe yaradı!

Bütün sabahım sorunu çözmek için uğraşarak boşa gitti ...


0

Benim için işe yarayan şey, webconfig'imden (system.web özelliklerinin altında) kimlik = true değerini kaldırmak ve çözümü yeniden oluşturmak ve tekrar yayınlamak (gerekirse) ve bir cazibe gibi çalıştı!


bu yorumda olmalı
Usman Maqbool

0

Sorunum, Grup İlkemizdeki eşlenen sürücülerdeki bir değişiklikten kaynaklandı. Çözümüm , Z: sürücüm olarak bir RAM sürücü kurulumunu kullanmak için Web.config dosyasında tempDirectory ayarına sahip . Görünüşe göre Z: sürücüsünü kullanmaya başladılar ve DLL'ler normal gibi tempDirectory'ye kopyalanıyordu, ancak daha sonra uzak sunucudaki bir işlemle silindiklerini düşünüyorum (muhtemelen virüs taraması). Bunu yalnızca Process Monitor kullanarak ve Antlr için filtreleme yaparak ve DLL'ler için bir ağ konumuna baktığını görerek çözebildim.


0

Nudget Paket Yöneticisi'ndeki tüm paketleri güncelledim ve işe yaradı! Benim durumumda web sitemi GoDaddy'de barındırıyorum


0

.Netframework temp dosyasını başarıyla silmeye çalıştıktan sonra, değiştirdim

<system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.6.1" />
    <httpRuntime />
    <pages controlRenderingCompatibilityVersion="4.0" />
</system.web> 

4.6.1 Web sitesi yerine yalnızca targetFramework = "4.6" ile hatasız görüntülenir. Sonra tekrar targetFramework = "4.6.1" olarak değiştirdim ve sunucuyu yeniden başlattım. Herşey yolunda kalıyor.


0

Benim için çözüm, Visual Studio'yu Yönetici olarak çalıştırmaktı. Görünüşe göre bir izin sorunuydu.


0

Benim için çözüm, Araçlar> NuGet Paket Yöneticisi> Çözüm için Paketleri Yönetmek oldu

Ardından Antlr3'e tıklayın ve şuraya yüklendiğinden emin olun:

  1. Başlangıç ​​Projesi
  2. Yansıma kullanan herhangi bir kitaplık
  3. Yansıma kullanan kitaplıkları çağıran herhangi bir kitaplık

Benim durumumda, ihtiyacı olan 4 Proje derinliğiydi. Bu yapıldıktan sonra bu sorun nihayet çözüldü.


0

Bu sorunla karşı karşıya kaldım ve yukarıda belirtilen çözümleri denedim ancak şimdilik hiçbir şey işe yaramadı. Dll'yi bin floder'den silmem ve yeniden oluşturmam ve ardından tüm yayımlanan dosyaları paketler klasöründen silmem ve paket yöneticisi konsolunu kullanarak paketleri geri yüklemem gerekiyordu.



0

Benim durumumda, bir projeyi klonladığımda, Visual Studio 2019, projenin yolunda bir boşluk karakterini '% 20' ile değiştirdi. Daha sonra, VS nugget paketlerini bulmaya çalıştığında, doğru yolu bulamadı.


0

Yeni sürüme geçtikten sonra bu sorunla karşılaştım Microsoft.AspNet.Web.Optimization

update-package WebGreaseve update-package Antlr(bu sırayla) en son sürümleri almak ve Antlr sürüm sorununu düzeltmek için.


0

Benim için şu adımları yaptım ve işe yaradı:

1) Sildim binve objklasörlerim (bazı dosyalar Cleanproje tarafından silinmedi )

2) JS gibi uzun zaman önce silinmiş ancak proje dosyalarına dahil edilmiş bazı dosyaları kontrol ettim . Bu yüzden onları dışlıyorum.

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.