Không thể tải tập tin hoặc lắp ráp. Tham số không chính xác


211

Gần đây tôi đã gặp ngoại lệ sau tại giải pháp C #:

Lỗi 2 Không thể tải tệp hoặc lắp ráp 'Newtonsoft.Json, Phiên bản = 3.5.0.0, Culture = trung tính, PublicKeyToken = b9a188c8922137c6' hoặc một trong các phụ thuộc của nó. Tham số không chính xác. (Ngoại lệ từ HRESULT: 0x80070057 (E_INVALIDARG))

Điều này không phụ thuộc vào mã của tôi hoặc tên của hội đồng (như Newtonsoft.Jsontrong trường hợp này).

Khi tôi xóa dll này khỏi giải pháp, trình biên dịch sẽ nói về một cái khác trong cùng một ngoại lệ. Vì vậy, tôi cho rằng một cái gì đó sẽ bị tắt / bật trên PC của tôi :)


3
Không. Đó là lỗi trình biên dịch hoặc ngoại lệ thời gian chạy. Tôi nghi ngờ cái sau. Xin hãy rõ ràng hơn.
leppie

2
Tôi cũng đã phải đối mặt với ngoại lệ tương tự nhưng tôi đã cố gắng khắc phục bằng giải pháp của Thomas. Vấn đề là do tắt hệ thống không đúng cách do mất điện
Sandeep

Câu trả lời:


346

Trông giống như một hội đồng bị hỏng đang được tham chiếu.

Xóa cả hai:

  1. thư mục \ bin của dự án của bạn

  2. thư mục tạm thời (nên có C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Filestrong windows 7)

và xem nếu lỗi vẫn xảy ra


3
alex cảm ơn rất nhiều vì điều này! điều thứ hai đã giúp: Tôi dọn dẹp thư mục tệp tạm thời của ASP.NEt)
Liker777

rất vui khi nghe nó hoạt động. nhớ chấp nhận câu trả lời nếu có ích :)
Alex

9
xem câu trả lời của @Thomas để biết các vị trí khác cần xóa (hoạt động cho tôi)
Simon_Weaver

3
Cảm ơn. Xóa thư mục tạm thời của người dùng sau khi gặp sự cố khó khăn đã giải quyết vấn đề cho tôi.
Petrus Theron

13
% TEMP% \ Tệp ASP.NET tạm thời C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Tệp ASP.NET tạm thời C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Tệp ASP.NET tạm thời C : \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Tệp ASP.NET tạm thời C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Tệp ASP.NET tạm thời C: /Windows/Microsoft.NET/Framework/ v4.0.30319 / Tệp ASP.NET tạm thời Danh sách này sẽ phát triển như thể bạn có các phiên bản khác của .NetFramework. Trả lời Src: stackoverflow.com/a/16033324/1724777 stackoverflow.com/a/11743430/1724777 Reason For The Prob: BLUE_SCREEN_OF_DEATH
NavaRajan

286

Tùy thuộc vào việc bạn đang chạy X64, bạn có thể cần dọn sạch thêm một vài điểm. Chỉ cần dọn dẹp thư mục người dùng của tôi là không đủ.

  1. % TEMP% \ Tệp ASP.NET tạm thời
  2. C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Tệp ASP.NET tạm thời
  3. C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Tệp ASP.NET tạm thời
  4. C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Tệp ASP.NET tạm thời
  5. C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Tệp ASP.NET tạm thời

Danh sách này sẽ phát triển như thể bạn đã cài đặt các phiên bản khác của khung.


72
bạn có thể thấy bạn cần phải làm điều này nếu máy tính của bạn bị mờ màn hình trong quá trình biên dịch
Simon_Weaver

2
+1 Bổ sung tổng hợp vào câu trả lời. Điều này đã sửa nó cho tôi, cảm ơn
Ralph Lavelle

7
Đây có vẻ là giải pháp nếu bạn đang chạy Visual Studio với tư cách Quản trị viên khi máy tính của bạn gặp sự cố hoặc thay vào đó, nếu bạn cũng như chính tôi, khi hết pin.
kiệm

4
CHÚA ƠI! Tôi đã nhận được hơn 4GB từ các dự án tiền sử của tôi ở những nơi đó! Điều này không bao giờ làm sạch?!?! Cảm ơn!
user2173353

2
Chỉ muốn cho bạn biết rằng hơn 2 năm, bài đăng này vẫn đang giúp đỡ mọi người. Cảm ơn rất nhiều.
Laurence Frost

42

Tôi đã phải xóa

C: /Windows/Microsoft.NET/Framework/v4.0.30319/T Tệp ASP.NET tạm thời

Chỉ sau đó, vấn đề được giải quyết.


1
Câu trả lời này cũng có hiệu quả với tôi, với máy Win 7 64 bit lưu trữ MVC 4 trong IIS Express
Ben H

13

Để biết những gì cần xóa cho chắc chắn - thêm khóa đăng ký sau:

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

Sau đó, bạn sẽ thấy đầu ra như dưới đây. Điều này cho bạn biết asp.net đang cố tải DLL của bạn ở đâu. Xóa thư mục này.

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
Ồ và cũng vậy, việc thiết lập lại IIS là cần thiết để tôi thấy các đường dẫn.
Landon Poch

Nhật ký này hiển thị ở đâu?
Luke Rice

Nhật ký hiển thị trong đầu ra lỗi khi xảy ra ngoại lệ
voidsstr

12

Xóa các tệp khung tạm thời cho dự án của bạn trong: -

C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Tệp ASP.NET tạm thời \


5

Bạn cũng có thể xóa thư mục gói và cho phép NuGet tải xuống lại các gói bị thiếu

nó đã giải quyết vấn đề cho tôi


... Và tôi, mặc dù tôi vừa xóa thư mục gói vi phạm.
Phil Cooper

Tôi đã xóa temps trong temp AppData & c: \ ... \ micorosoft.net \ .. \ temp, iisreset, ... tất cả mọi thứ ở trên. nhưng không làm việc với tôi. Khi tôi xóa tất cả các gói và khôi phục nó ... nó hoạt động với tôi ... cảm ơn rất nhiều: D
bunjeeb 30/08/2015

@bunjeeb thật là một anh chàng thích thú :)
megz

4

Xóa tất cả các tập tin từ các thư mục này.

C: /Windows/Microsoft.NET/Framework/v4.0.30319/T Tệp ASP.NET tạm thời C: /Windows/Microsoft.NET/Framework64/v4.0.30319/T Tệp ASP.NET tạm thời


3

Nhận bộ nhị phân mới từ kiểm soát nguồn đã giúp.

Cảm ơn


3

Chỉ cần xóa thư mục này: (chỉ windows x64)

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Tệp ASP.NET tạm thời


2

Cảm ơn Alex, điểm thứ hai của bạn đã giúp tôi khắc phục điều này.

Có vẻ như trừ khi bạn chạy visual studio với tư cách quản trị viên trong Windows 7, nó sẽ lưu các tệp tạm thời của bạn cục bộ chứ không phải C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Tệp ASP.NET tạm thời.

Xem bài đăng trên blog sau: http://www.dotnetscraps.com/dotnetscraps/post/Location-of-T tạm-ISNET-files-in-Vista-or-Windows-7.aspx


2

Tôi đã có cùng một vấn đề ở đây - các giải pháp trên không hoạt động. Vấn đề là với ActionMailer. Tôi đã chạy gỡ cài đặt sau và cài đặt các lệnh nuget

uninstall-package ActionMailer
install-package ActionMailer

Đã giải quyết vấn đề của tôi, hy vọng sẽ giúp được người khác.


2

Điều này có thể xảy ra trong khi tham chiếu dlls COM bọc. Trong Dự án Visual Studio của bạn, bên dưới Tài liệu tham khảo, chọn các dll trình bao bọc COM được tham chiếu và đảm bảo chúng có các giá trị thuộc tính sau: "Các loại tương tác nhúng": Sai và "Phiên bản cụ thể": Sai.


Đây là một câu trả lời tuyệt vời và sẽ nhận được nhiều hơn. Tất cả các câu trả lời khác được chấp nhận cho bối cảnh ASP.NET. Tuy nhiên, tôi có ngoại lệ tương tự được đưa ra bởi một cuộc gọi COM trong một ứng dụng Console đơn giản; Điều này làm việc hoàn hảo cho tôi. Cảm ơn ngài.
alexlomba87

2

Tôi chỉ xóa dữ liệu tạm thời ứng dụng của tôi từ đường dẫn này

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

Giải quyết vấn đề


2

Tôi thấy rất nhiều kỹ thuật viên đã đăng bài về việc xóa các thư mục tạm thời của thời gian chạy ASP .Net liên quan đến từng khung .Net được lưu trữ trên máy của bạn như trong câu trả lời này . Nhưng tôi tin rằng chúng ta nên biết hậu cần rõ ràng về lý do tại sao chúng ta cần phải xóa một cách mù quáng tất cả các thư mục làm việc tạm thời của tất cả các khung .Net. Theo tôi, nó không nên là trường hợp.

Lời khuyên của tôi là bạn nên thử một cách tiếp cận xóa thư mục pin nhọn để giải quyết vấn đề này. Làm thế nào bạn biết thư mục nào để xóa?

  1. Truy cập IIS và nhấp chuột phải vào nút trang web của bạn trong ngăn điều hướng bên trái để mở menu ngữ cảnh. Trong menu ngữ cảnh chỉ đến Manage Application-> Advanced Settings...để mở Advanced Settingscửa sổ.
  2. Kiểm tra Nhóm ứng dụng trang web của bạn được chỉ định. Trong trường hợp của tôi, nó là DefaultAppPoolnhư dưới đây:

nhập mô tả hình ảnh ở đây

  1. Bây giờ đi đến Application Poolsnút trong thanh điều hướng bên trái trong IIS. Bây giờ hãy kiểm tra xem .Net CLR Phiên bản nào đang được chạy bởi nhóm ứng dụng của bạn. Trong trường hợp của tôi, nó là v4.0 như hình dưới đây:

nhập mô tả hình ảnh ở đây

Vì phiên bản CLR được lưu trữ bởi nhóm ứng dụng của tôi là v4.0, do đó, tôi chỉ xóa chính xác các tệp tạm thời trong thư mục liên quan đến ASP .NET v4.0 như dưới đây:

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

Và đó là nó. Vấn đề của tôi đã được giải quyết.

Bài học rút ra : Đây là dấu hiệu cho thấy thực tế là tất cả các tệp tạm thời đang được sử dụng bởi trang web của bạn không nằm rải rác trên một số thư mục nhưng chúng ngay lập tức được giới thiệu bởi nhóm ứng dụng của bạn. Vì vậy, bạn cần phải xóa thư mục cụ thể mà thôi.


1

Xóa C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Các tệp ASP.NET tạm thời hoạt động với tôi. Suy nghĩ về việc tự động hóa quá trình xóa để tránh vấn đề trong tương lai.


1

Nếu bạn đang sử dụng Công cụ dữ liệu của SQL Server 2012, sử dụng trình bao VS2010 vào ngày 1 tháng 5 năm 2013, hãy kiểm tra cài đặt Trình quản lý cấu hình của bạn. Thay đổi tên máy chủ từ Workflow thành xCPWorkflow là đủ để tạo ra chính xác Thông số không chính xác (Ngoại lệ từ HRESULT: 0x80070057 (E_INVALIDARG)) .


1

Bạn có thể dọn dẹp, xây dựng hoặc xây dựng lại ứng dụng của mình hoặc chỉ cần xóa các tệp ASP.NET tạm thời tại C: \ Users \ Your USERNAME \ AppData \ Local \ Temp

Điều này hoạt động như ma thuật. Trong trường hợp của tôi, tôi đã gặp sự cố liên kết lắp ráp nói Không thể tải tệp bla bla bla

bạn cũng có thể xem giải pháp 2 dưới dạng http://www.codeproject.com/Articles/663453/Under Hiểu-Clean -Build-and-Rupild-in-Volual-St


1

Tôi gặp vấn đề này khi tạo bộ điều khiển trong MVC. Tôi đã thay đổi phiên bản .net framework. Các vấn đề đã được giải quyết


0

Vấn đề liên quan đến phiên bản thời gian chạy .Net của thư viện lớp được tham chiếu (tham chiếu mở rộng, chọn thư viện và kiểm tra "Phiên bản thời gian chạy". Tôi gặp vấn đề với Antlr3.R.78, sau khi nâng cấp dự án phòng thu trực quan của tôi lên v4.5. đã sử dụng NuGet để gỡ cài đặt Microsoft ASP.NET Web Optimization Framework (do một chuỗi các phụ thuộc khiến tôi không thể gỡ cài đặt trực tiếp Antlr3)

Sau đó, tôi đã sử dụng NuGet để cài đặt lại Khung tối ưu hóa web của Microsoft ASP.NET. Điều này cài đặt lại các phiên bản thời gian chạy chính xác.


0

Trong trường hợp của tôi, tôi muốn biên dịch một DLL có thể nhìn thấy COM. Vấn đề là một phiên bản cũ hơn của DLL này được đặt ở đây:

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

Do đó, Visual Studio đã tải phiên bản này thay vì phiên bản mới được biên dịch, vì nó đã cố gắng đăng ký nó.


0

Xóa tất cả các tệp khỏi thư mục tạm thời (C: \ Users \ user_name \ AppData \ Local \ Temp \ Tệp ASP.NET tạm thời \ thư mục dự án)


0

Đôi khi, bạn cũng cần xóa thư mục này: C: \ Windows \ Temp \ Tạm thời ASP.NET


0

Tôi gặp phải lỗi tương tự vì ứng dụng không tìm thấy các khung phụ thuộc trong C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\thư mục. Tôi chỉ sửa chữa Visual studio của mình có thêm khung yêu cầu ở vị trí trên và nó hoạt động tốt.


0

Trong trường hợp của tôi, việc thay đổi số cổng IISExpress trong thuộc tính dự án của tôi, đã giải quyết được vấn đề.


0

Nếu có ai khác đang sử dụng bộ công cụ WiX, tôi phát hiện ra rằng dự án trình cài đặt của tôi có tham chiếu đến một dự án cũ gần đây đã bị xóa khỏi giải pháp. Phải mất một thời gian tôi mới nhận ra vì có một số dự án trong giải pháp mà tôi đang cố gắng xây dựng và thông điệp không cho biết dự án nào không được xây dựng (và sạch, cũng thất bại).


0

Tôi đã có người dùng của Siemens Teamcenter 10 Client cho Microsoft Office gặp lỗi tương tự về một DLL khác. Không có câu trả lời nào khác làm việc. Giải pháp là xóa các thư mục trong

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

0

Tôi gặp vấn đề tương tự khi mở trình quản lý gói Nuget, tôi đã xóa tất cả các tệp tạm thời và xây dựng dự án, nó hoạt động tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.