Dosya veya montaj yüklenemedi… Parametre yanlış


211

Son zamanlarda C # çözümü aşağıdaki istisna karşıladı:

Hata 2 Dosya veya derleme 'Newtonsoft.Json, Sürüm = 3.5.0.0, Kültür = nötr, PublicKeyToken = b9a188c8922137c6' veya bağımlılıklarından biri yüklenemedi. Parametre yanlış. (HRESULT istisnası: 0x80070057 (E_INVALIDARG))

Bu benim koduma veya montaj adına ( Newtonsoft.Jsonbu durumda olduğu gibi ) bağlı değildir.

Çözümü bu dll sildiğimde derleyici aynı istisna başka bir anlatıyor. Yani sanırım PC'mde bir şey kapatılmalı / açılmalıdır :)


3
Hayır. Bir derleyici hatası veya çalışma zamanı istisnasıdır. İkincisinden şüpheleniyorum. Lütfen daha açık olun.
leppie

2
Aynı istisna ile de karşılaştım ama Thomas'ın çözümü ile düzeltmeyi başardım. Sorun elektrik kesintisi nedeniyle yanlış sistem kapanmasından kaynaklandı
Sandeep

Yanıtlar:


346

Görünüşe göre bozuk bir derleme başvuruluyor.

İkisini de temizle:

  1. projenizin \ bin klasörü

  2. geçici klasör ( C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET FilesWindows 7'de olmalıdır )

ve hatanın hala devam edip etmediğine bakın


3
alex bunun için çok teşekkürler! ikinci şey yardımcı oldu: Geçici ASP.NEt dosyaları dizinini temizledim)
Liker777

Çalıştığını duyduğuma sevindim. yardımcı olursa cevabı kabul etmeyi unutmayın :)
Alex

9
silinmesi gereken diğer konumlar için @Thomas'ın cevabına bakın (bu benim için çalıştı)
Simon_Weaver

3
Teşekkürler. Zor bir çökmeden sonra kullanıcı temp klasörünü temizlemek benim için sorunu çözdü.
Petrus Theron

13
% TEMP% \ Geçici ASP.NET Dosyaları C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Geçici ASP.NET Dosyaları C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Geçici ASP.NET Dosyaları C : \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Geçici ASP.NET Dosyaları C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Geçici ASP.NET Dosyaları C: /Windows/Microsoft.NET/Framework/ v4.0.30319 / Geçici ASP.NET Dosyaları Bu liste, .NetFramework uygulamasının başka sürümlerine sahip olduğunuzda büyüyecektir. Cevap Src: stackoverflow.com/a/16033324/1724777 stackoverflow.com/a/11743430/1724777 Prob Nedeni: BLUE_SCREEN_OF_DEATH
NavaRajan

286

X64 kullanıyor olmanıza bağlı olarak birkaç noktayı daha temizlemeniz gerekebilir. Sadece kullanıcı dizinimi temizlemek yeterli değildi.

  1. % TEMP% \ Temporary ASP.NET Dosyaları
  2. C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Dosyaları
  3. C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Dosyaları
  4. C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Geçici ASP.NET Dosyaları
  5. C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Dosyaları

Bu liste, çerçevenin başka sürümleri yüklenmiş gibi büyüyecektir.


72
Derleme sırasında bilgisayarınız mavi
ekranlıysa

2
+1 Cevaba güzelce eklenmiş derleme. Bu benim için düzeltti, teşekkürler
Ralph Lavelle

7
Bilgisayarınız çöktüğünde Visual Studio olarak Yönetici olarak çalıştırıyorsanız veya alternatif olarak, pilim bittiğinde kendim kadar uyuşuksanız, bu çözüm gibi görünüyor.
Sav

4
AMAN TANRIM! Bu yerlerde tarih öncesi projelerimden 4GB'ın üzerine çıktı! Bu şey hiç temizlenmiyor mu?!?! Teşekkürler!
user2173353

2
Sadece 2 yıldan fazla bir süredir, bu yayının hala insanlara yardım ettiğini bildirmek istedim. Çok teşekkürler.
Laurence Frost

42

Temizlemek zorunda kaldım

C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Dosyaları

Ancak bundan sonra sorun çözüldü.


1
Bu yanıt benim için de çalıştı, 64-bit Win 7 makinesi, IIS Express'te MVC 4'ü barındıran
Ben H

13

Neyin silineceğini kesin olarak bilmek için - aşağıdaki kayıt defteri anahtarını ekleyin:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\EnableLog (DWord set to 1).

Sonra çıktıyı aşağıdaki gibi göreceksiniz. Bu, asp.net'in DLL'lerinizi nereye yüklemeye çalıştığını gösterir. Bu dizini temizle.

LOG: This bind starts in default load context.
LOG: Using application configuration file: c:\app\AtlasAdvisor\web\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL **file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3c8629f7/dfa387b6/Avanade.ViddlerNet.DLL.**
LOG: Attempting download of new URL **file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3c8629f7/dfa387b6/Avanade.ViddlerNet/Avanade.ViddlerNet.DLL**.

3
Oh ve ayrıca, yolları görebilmem için bir IIS sıfırlaması gerekiyordu.
Landon Poch

Bu günlük nerede görüntülenir?
Luke Rice

Bir kural dışı durum oluştuğunda günlük hata çıkışında görüntülenir
voidsstr

12

Projeniz için geçici çerçeve dosyalarını şu adresten temizleyin: -

C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Geçici ASP.NET Dosyaları \


5

Paketler dizinini de temizleyebilir ve NuGet'in eksik paketleri yeniden indirmesine izin verebilirsiniz

sorunu benim için çözdü


... ve ben, sadece rahatsız edici paket dizinini kaldırdım.
Phil Cooper

AppData temp & c: \ ... \ micorosoft.net \ .. \ temp, iisreset, ... içindeki tempsleri sildim. ama benimle çalışmıyor. Bir kez tüm paketleri sildim ve geri
yükledim

@bunjeeb bu bir zevk dostum :)
megz

4

Bu klasörlerden tüm dosyaları silin.

C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Dosyaları C: /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Dosyaları


3

Kaynak kontrolünden yeni ikili set almak yardımcı oldu.

Teşekkürler


3

Bu klasörü temizle: (sadece windows x64)

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Dosyaları



2

Burada da aynı sorunu yaşadım - yukarıdaki çözümler işe yaramadı. Sorun ActionMailer ile oldu. Aşağıdaki kaldırma ve yükleme nuget komutlarını çalıştırdım

uninstall-package ActionMailer
install-package ActionMailer

Sorunlarımı çözdüm, umarım başka birine yardım eder.


2

Bu COM sarıcı dlls başvuru yaparken olabilir. Visual Studio projeniz içinde başvurular altında başvurulan COM sarıcı dll seçin ve aşağıdaki özellik değerlerine sahip olduklarından emin olun: "Embed birlikte çalışma türleri": False ve "Specific Version": False.


Bu harika bir cevap ve daha fazla oy almalı. Diğer tüm yanıtlar ASP.NET bağlamı için verilir. Ancak, aynı istisna bir COM çağrısı basit bir konsol uygulaması tarafından yükseltildi; bu benim için mükemmel çalıştı. Teşekkürler bayım.
alexlomba87

2

Uygulama temp verilerimi bu yoldan siliyorum

C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files

Sorun çözme


2

Bu yanıtta olduğu gibi, makinenizde barındırılan her .Net çerçevesine ait ASP .Net çalışma zamanlarının geçici dizinlerini temizleme konusunda birçok teknik yayınlandığını görüyorum . Ancak, tüm .Net çerçevelerinin tüm geçici çalışma dizinlerini neden körü körüne temizlememiz gerektiğine ilişkin net lojistikleri bilmemiz gerektiğine inanıyorum. Bana göre, durum böyle olmamalı.

Benim tavsiyem, bu sorunu çözmek için bir pim sivri dizin temizleme yaklaşımı denemelisiniz. Hangi dizinin temizleneceğini nasıl bilebilirsiniz?

  1. IIS'ye gidin ve içerik menüsünü açmak için sol gezinme bölmesinde web sitesi düğümünüzü sağ tıklayın. Bağlam menüsünde pencereyi açmak için Manage Application-> Advanced Settings...üzerine Advanced Settingsgelin.
  2. Web sitenizin atandığı Uygulama Havuzunu kontrol edin. Benim durumumda DefaultAppPoolaşağıda gösterildiği gibidir:

resim açıklamasını buraya girin

  1. Şimdi Application PoolsIIS'de sol gezinme çubuğundaki düğüme gidin . Şimdi hangi .Net CLR Sürümünün uygulama havuzunuz tarafından çalıştırıldığını kontrol edin. Benim durumumda aşağıda gösterildiği gibi v4.0:

resim açıklamasını buraya girin

Uygulama havuzum tarafından barındırılan CLR sürümü v4.0 olduğundan, yalnızca aşağıdaki gibi yalnızca ASP .NET v4.0 ile ilgili klasördeki geçici dosyaları temizledim:

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

Ve bu kadar. Sorunum çözüldü.

Alınan ders : Bu, web siteniz tarafından kullanılan tüm geçici dosyaların çeşitli dizinlere dağılmadığını ancak bir kerede uygulama havuzunuz tarafından yönlendirildiğini gösterir. Bu yüzden sadece o klasörü temizlemeniz gerekir.


1

C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Dosyaları temizlendi. Gelecekte sorundan kaçınmak için silme işlemini otomatikleştirmeyi düşünmek.


1

1 Mayıs 2013'te olduğu gibi VS2010 kabuğunu kullanan SQL Server 2012 Veri Araçları'nı kullanıyorsanız Configuration Manager ayarlarınızı kontrol edin. İş akışından xCPWorkflow'a bir sunucu adı değişikliği, tam olarak aynı şeyi üretmek için yeterliydi Parametre yanlış (HRESULT: 0x80070057 (E_INVALIDARG) özel durumu) iletisi.



1

MVC denetleyicisi yaparken bu sorunu yaşadım. Sürüm .net çerçevesini değiştirdim. Problem çözüldü


0

Sorun başvurulan bir sınıf kütüphanesinin .Net çalışma zamanı sürümü ile ilgilidir (genişletilmiş referanslar, kitaplığı seçin ve "Çalışma Zamanı Sürümü" nü kontrol edin. Görsel stüdyo projemi v4.5'e yükselttikten sonra Antlr3.Runtime ile ilgili bir sorun yaşadım. NuGet'i Microsoft ASP.NET Web Optimizasyon Çerçevesini kaldırmak için kullandı (Antlr3'ü doğrudan kaldırmamı engelleyen bir bağımlılıklar zinciri nedeniyle)

Daha sonra Microsoft ASP.NET Web Optimizasyon Çerçevesini yeniden yüklemek için NuGet'i kullandım. Bu, doğru çalışma zamanı sürümlerini yeniden yükledi.


0

Benim durumumda bir COM görünür DLL derlemek istedim. Sorun, bu DLL'nin eski bir sürümünün burada bulunmasıydı:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

Bu nedenle, Visual Studio yeni derlenen sürümü yerine bu sürümü yükledi, kaydetmeye çalıştı.


0

Geçici klasördeki tüm dosyaları temizle (C: \ Users \ kullanıcı_adı \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ project klasörü)


0

Bazen bu klasörü de temizlemeniz gerekir: C: \ Windows \ Temp \ Temporary ASP.NET


0

Uygulama C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\klasörde bağımlı çerçeveler bulamadığı için aynı hatayla karşılaştım . Ben sadece yukarıdaki konuma gerekli çerçeve ekledi Visual studio onarım ve iyi çalışıyor.


0

Benim durumumda, proje özelliklerimdeki IISExpress bağlantı noktası numarasını değiştirmek sorunu çözdü.


0

Eğer dışarıdaki biri WiX araç setini kullanıyorsa, yükleyici projemin yakın zamanda çözümden kaldırılan eski bir projeye referansı olduğunu keşfettim. Oluşturmaya çalıştığım çözümde bir dizi proje olduğu ve mesaj hangi projenin inşa edemediğini (ve temiz olduğunu, hangisinin başarısız olduğunu) göstermediği için fark etmem bir süre aldı.


0

Farklı bir DLL hakkında aynı hatayı alan Microsoft Office için Siemens Teamcenter 10 Client kullanıcıları vardı. Diğer cevapların hiçbiri işe yaramadı. Çözüm, içindeki klasörleri silmekti

C:\Users\%username%\AppData\Local\assembly\

0

Nuget Paket yöneticisini açarken de benzer bir sorun yaşadım, tüm geçici dosyaları kaldırdım ve projeyi oluşturdum, iyi çalıştı.

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.