Lỗi Visual Studio Tham chiếu đối tượng không được đặt thành phiên bản của một đối tượng, sau khi cài đặt ASP.NET và Web Tools 2015


125

Sau khi cài đặt ASP.NET và Web Tools 2015 (RC1 update 1) Tôi gặp lỗi sau trong các dự án ASP.NET MVC 4 khi mở *.cshtmltệp:

Tham chiếu đối tượng không được đặt thành phiên bản của đối tượng

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

Tôi nhận được thông báo lỗi tương tự ngay cả khi tôi bắt đầu một dự án ASP.NET MVC 4 mới và cố gắng mở một *.cshtmltệp ở đó.

Tôi đang sử dụng Visual Studio 2015


1
Bạn đã thử sửa chữa Visual Studio chưa?
Silvermind

Chưa được, nhưng tôi chỉ chạy sửa chữa. Hãy cùng xem những gì nó mang lại
Carsten Cors

đôi khi những gì bạn cần làm chỉ là khởi động lại VS :).
Kiên Chu

1
@fiorebat Khi RC2, tôi không gặp vấn đề gì được mô tả ở đây.
Carsten Cors

Đóng VS, sau đó thực hiện bước 1.1 và khởi động lại đã xóa vấn đề cho tôi. Khi tôi mới mở dự án thử nghiệm, tôi đã gặp một loạt lỗi liên quan đến cài đặt, nhưng nó đã mở. Cảm ơn.
NetHawk

Câu trả lời:


196

Có lẽ điều này giúp:

  1. Xóa nội dung khỏi các thư mục sau:
    1. C: \ Users \% userprofile% \ AppData \ Local \ Microsoft \ VisualStudio
    2. C: \ Users \% userprofile% \ AppData \ Local \ Microsoft \ VSCommon
  2. Đôi khi, bạn cần phải đi đến:
    1. [x64] C: \ Tệp chương trình (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE
    2. [x86] C: \ Tệp chương trình \ Microsoft Visual Studio 14.0 \ Common7 \ IDE

và chạy devenv /resetuserdata.

Hy vọng rằng tất cả các cài đặt người dùng của bạn như bố cục Visual Studio, tài khoản Microsoft được liên kết hoặc trang bắt đầu có thể biến mất.


6
Đã làm việc!! Tuy nhiên, tôi chỉ đổi tên các thư mục Visualstudio & VSCommon thành VisualStudio_old & VSCommon_old. Không cần chạy "devenv / resetuserdata"
Ray

1
@DamianKobak - vâng, nó thường giúp, nhưng chỉ cho một giải pháp cụ thể. Khi mọi thứ đi sai trên mỗi bước dự án phù hợp hơn.
Fka

90
Trên thực tế, việc xóa thư mục ElementModelCache trên đường dẫn C: \ Users \ {user} \ AppData \ Local \ Microsoft \ VisualStudio \ {phiên bản - 14 hoặc 12} là đủ. Bạn có thể giữ phần còn lại và không có cài đặt nào bị mất ...
Tom Burger

1
Điều này có thể áp dụng cho tất cả các VS, vì chúng chỉ khác nhau ở \Microsoft Visual Studio <THIS NUMBER>\Common7\IDE.
Fka

3
Hãy chắc chắn rằng bạn XUẤT CÀI ĐẶT CỦA BẠN vì điều này sẽ xóa sạch chúng và bạn sẽ phải nhập chúng sau đó. Điều này vừa sửa một lỗi tương tự cho tôi trong VS2017 xảy ra sau khi tôi thêm hỗ trợ C ++ thông qua trình cài đặt. Lưu ý rằng việc xóa ElementModelCache không giúp được gì.
Rimmel


15

Cho tôi,

  1. Tôi đã kết thúc quá trình trong Windows Task Manager : VsHub.exe.
  2. Khởi động lại Visual Studio.

Sau đó, mọi thứ hoạt động như một sự quyến rũ một lần nữa!


Tôi ủng hộ câu trả lời của bạn vì nó giải quyết được vấn đề của 'Object Null Reference' nhưng sau đó tôi đã có ngoại lệ mới trong Visual StudioThe operation is not completed, invalid pointer
Hakan Fıstık

7

Tôi đã giải quyết nó

run devenv /resetuserdata

trong con đường này:

[x64] C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE

Tôi giả sử rằng trong x86, nó hoạt động theo đường dẫn này:

[x86] C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE

1
Cái này hoạt động với tôi, nhưng thật không may, nó đặt lại rất nhiều thứ, bao gồm Re # :(
Cătălin Rădoi

Tôi chỉ thử nó và nó làm việc cho tôi. Điều gì về điều này làm cho nó hoạt động?
tylerlindell

5

Bạn nên thử bất kỳ hoặc tất cả những điều sau đây:

  • Khởi động lại Visual Studio

  • Thử chạy với tư cách quản trị viên (nhấp chuột phải vào Visual Studio và chọn "Chạy với tư cách quản trị viên")

  • Kiểm tra mọi bản cập nhật cho Visual Studio (tải xuống và cài đặt chúng nếu có sẵn)

  • Hãy thử mở một giải pháp / dự án khác

Nếu vấn đề vẫn còn, bạn có thể thử các tùy chọn sau:

  • Khởi động lại máy cục bộ của bạn

  • Cố gắng đặt lại Visual Studio thành Mặc định hệ thống (điều này có thể được thực hiện từ các tùy chọn trong Visual Studio)

  • Cố gắng sửa chữa cài đặt Visual Studio của bạn


3

Với hy vọng nó có thể thu hẹp mọi thứ / giúp đỡ ai đó, tôi đã thực hiện một phương pháp điều tra. Đối với tôi, ban đầu tôi đã chuyển thư mục tại C: \ Users \ {user} \ AppData \ Local \ Microsoft \ VisualStudio sang Tài liệu của tôi và cho phép Visual Studio tạo lại bằng cách khởi chạy lại. Điều này loại bỏ các lỗi. Vì vậy, tôi đã di chuyển mọi thứ trở lại, từng cái một và khởi động lại Visual Studio mỗi lần cho đến khi tôi phát hiện ra thủ phạm. Các thư mục này đã ổn để di chuyển trở lại:

  • 1033 (ghi đè lên bản sao được tạo tự động bằng cũ)
  • Nhà thiết kế (là bản sao cũ của tôi, ban đầu không được tạo lại khi tôi khởi chạy lại VS, sao chép lại)
  • Tiện ích mở rộng (ghi đè bản sao được tạo tự động bằng cũ)
  • Thư viện hình ảnh (ghi đè lên bản sao được tạo tự động bằng cũ)
  • Thông báo (ghi đè lên bản sao được tạo tự động bằng cũ)
  • STemplate (là bản sao cũ của tôi, ban đầu không được tạo lại khi tôi khởi chạy lại VS, sao chép lại)
  • VTC (là bản sao cũ của tôi, ban đầu không được tạo lại khi tôi khởi chạy lại VS, sao chép lại)

Các tệp này vẫn ổn để quay lại / ghi đè lên các tệp được tạo tự động:

  • ApplicationPrivateS Settings (là bản sao cũ của tôi, ban đầu không được tạo lại khi tôi khởi chạy lại VS)
  • ApplicationPrivateSinstall.lock (ghi đè lên bản sao được tạo tự động bằng cũ)
  • vspdmc.lock (ghi đè lên bản sao được tạo tự động bằng cũ)

Các tệp này vẫn ổn để di chuyển trở lại. Mỗi tệp nằm trong bản sao cũ của tôi và ban đầu không được tạo lại khi tôi khởi chạy lại VS:

  • .NETFramework, Phiên bản = v4.0, Set = Framework, Hash = C958D412.dat
  • .NETFramework, Version = v4.0, Set = RecentAssemblies, Hash = 0.dat
  • .NETFramework, Version = v4.5, Set = Tiện ích mở rộng, Hash = 75EAE334.dat
  • .NETFramework, Version = v4.5, Set = Tiện ích mở rộng, Hash = 497525A2.dat
  • .NETFramework, Phiên bản = v4.5, Set = Framework, Hash = 5AE9A175.dat
  • .NETFramework, Version = v4.5.2, Set = Tiện ích mở rộng, Hash = 24CEEB0D.dat
  • .NETFramework, Version = v4.5.2, Set = Tiện ích mở rộng, Hash = 72AE305.dat
  • .NETFramework, Version = v4.5.2, Set = Tiện ích mở rộng, Hash = ADF899D7.dat
  • .NETFramework, Phiên bản = v4.5.2, Set = Framework, Hash = D8E943A2.dat

Những vấn đề gây ra - xóa các tệp này và khởi chạy lại VS để cho phép nó tạo lại chúng:

  • ElementModelCache - Khi tôi ghi đè nội dung của thư mục này bằng các tệp cũ của tôi (4 tệp: MS.VS.Default.cache, .catalogs, .err, .external), điều này đã cho tôi tất cả các lỗi mà tôi đã mắc phải trước đây về việc không thể tải các gói khi tải dự án của tôi và lỗi "tham chiếu đối tượng không được đặt thành phiên bản của đối tượng" khi cố gắng đóng VS.
  • devenv.exe.config - giống như ElementModelCache
  • .NETFramework, Version = v4.0, Set = Tiện ích mở rộng, Hash = 6D09DECC.dat - gây ra lỗi đầu ra từ Dịch vụ ngôn ngữ JavaScript, phàn nàn về các tệp js bị thiếu
  • .NETFramework, Version = v4.0, Set = Tiện ích mở rộng, Hash = 9951BC03.dat - gây ra lỗi đầu ra từ Dịch vụ ngôn ngữ JavaScript, phàn nàn về các tệp js bị thiếu
  • .NETFramework, Version = v4.5.2, Set = RecentAssemblies, Hash = 0.dat - gây ra lỗi đầu ra từ Dịch vụ ngôn ngữ JavaScript, phàn nàn về các tệp js bị thiếu

Đây là những lỗi từ các tệp .NETFramework cuối cùng (mà tôi không nhận được nếu tôi không thêm chúng trở lại):

01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\libhelp.js' not found.
01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\sitetypesWeb.js' not found.
01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\domWeb.js' not found.
01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\underscorefilter.js' not found.
01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\showPlainComments.js' not found.

Tôi có thể chỉ cần cài đặt lại / sửa chữa trình cắm Dịch vụ Ngôn ngữ JavaScript, vì vậy nó có thể không liên quan. Nhưng chắc chắn devenv.exe.config và ElementModelCache cần phải sửa lỗi "tham chiếu đối tượng không được đặt thành phiên bản của một đối tượng".


1
Tôi gặp phải một vấn đề khi sao chép và dán trong Visual Studio 2013, loại bỏ thư mục ElementModelCache làm việc cho tôi.
Edward Comeau

3

Đối với tôi, ASP.NET 5 chưa được yêu cầu, tôi đã gỡ bỏ bản cập nhật và sau đó cài đặt lại ASP.NET 4.5. Đó là một chút khó khăn:

  1. Đã xóa khỏi bảng điều khiển "Microsoft ASP.NET 5 RC1 Update1". Sau đó, bạn sẽ không còn mở các dự án ASP.NET MVC
  2. Sau đó, tôi đã thay đổi cài đặt "Microsoft Visual Studio Professional 2015", nhấp vào "Sửa đổi" và chọn "Công cụ nhà phát triển web của Microsoft"

Không còn làm theo thông báo cập nhật trong Visual Studio 2015 !!!


3

Sau khi thử câu trả lời hàng đầu, tôi thấy rằng bạn cũng phải khởi động lại máy tính. Lỗi có thể là một phần của vấn đề git cũng như khởi động lại máy tính của bạn.


2

Tôi đã nhận được một ngoại lệ mỗi khi tôi cố gắng tạo một dự án "mới".

Giải pháp của tôi là:

  1. Chuyển đến menu Công cụTiện ích mở rộng và Cập nhật

  2. Kiểm tra liên kết "Cập nhật" ... Đã có bản cập nhật cho Microsoft ASP.NET và Công cụ web. Cài đặt nó.

Điều đó đã sửa nó cho tôi.


FYI: Tôi đã có các cập nhật khác nhau đang chờ xử lý; nhưng tương tự, cài đặt những người giải quyết vấn đề.
JohnLBevan

2

Trong trường hợp của tôi (không nhất thiết là giải pháp cho bạn, nhưng nó có thể hữu ích cho ai đó), giải pháp là:

  1. Chuyển đến menu Công cụTiện ích mở rộng và Cập nhật

  2. Chọn Onlinetab từ bảng bên phải

  3. Tìm kiếm các từ web tools, sau đó chọn Microsoft ASP.NET and Web Toolsvà cài đặt nó.

Trong trường hợp của tôi, cái này bị thiếu trong máy tính của tôi vì có rất nhiều thao tác sửa chữa cho Visual Studio.


1

Tôi đã nhận được ngoại lệ này mỗi khi tôi tạo một dự án "mới".

Giải pháp của tôi là:

  • Đi menu Công cụ ? Tiện ích mở rộng và cập nhật
  • Không kiểm tra liên kết "Cập nhật" ... tìm kiếm "asp.net". Có một bản cập nhật cho Microsoft ASP.NET và Web Tools. Lấy nó dưới dạng AspNetWebFrameworksTools2015_KB3137909.exe và cài đặt nó.

Điều đó đã sửa nó cho tôi.


Thật không may, tôi gặp phải một ngoại lệ khác:

"Ngoại lệ đã bị ném bởi mục tiêu của một lời cầu khẩn"

Tôi đã tắt FIPScài đặt DWORDGiá trị được bật thành không.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy]
Enabled=dword:00000000 And All fixed.

1

Goto windows + R và gõ% temp% và nhấn enter. xóa thư mục tạm thời và các tệp và sau đó thử mở cùng


0

Tôi đã chiến đấu với điều này trong suốt cả ngày cuối tuần. Nhưng nó khá dễ để làm điều đó. Những gì tôi đã làm là nhấp vào sửa chữa thay vì gỡ cài đặt. Sau khi sửa chữa, tôi bấm vào khởi động lại trực tiếp. Sau đó, mọi thứ đều hoạt động hoàn hảo. Bạn nên thử điều này, có thể nó cũng có thể làm việc cho bạn !!!


0

Khởi động lại Visual Studio đã làm điều đó cho tôi. Trong lần chạy tiếp theo, nó hiển thị "Quét các thành phần MEF mới và được cập nhật ..." và sau đó nó thực hiện bình thường.

Nó dường như có liên quan đến bản cập nhật Windows bằng cách nào đó, mặc dù tôi không có bằng chứng.


0

Xóa các thư mục bin và obj trong tất cả các dự án của giải pháp đó.

Có vẻ như các thư mục đó có các tệp cũ được tạo bởi một số phiên bản cũ của studio hình ảnh, không tương thích với phiên bản mới của studio hình ảnh.


0

Giải pháp cho vấn đề khi tôi gặp vấn đề này sớm hơn là có một bộ thẻ bổ sung được chốt ở cuối Web.config. Sau khi loại bỏ các chức năng trả lại.


0

Tôi đã gặp lỗi tương tự trong VS2017 trong khi cố gắng xuất bản giải pháp của mình lên Azure.

Thuật toán này đã giúp tôi giải quyết nó:

  1. Đóng VS2017
  2. Mở C: \ Users {tên người dùng của bạn} \ AppData \ Local \ Microsoft \ VisualStudio \ thư mục
  3. Đổi tên thư mục 15.0_08edcd83
  4. Bắt đầu VS
  5. Xuất bản hoạt động tốt!

Lưu ý rằng điều này sẽ xóa các tệp / dự án gần đây của Visual Studio khỏi lịch sử của nó và cũng liên kết với tài khoản MS.

Phương pháp này hơi khác so với câu trả lời hàng đầu. Tại đây, bạn không phải xóa các thư mục khác ngoại trừ đổi tên thư mục đã nêu ở trên.


-1

Vấn đề: VS 2015 của tôi đã bị lỗi sau khi tôi cài đặt SSDT. Bất cứ khi nào tôi nhấp vào Công cụ >> Tiện ích mở rộng và Cập nhật, nó sẽ xuất hiện lỗi "Tham chiếu đối tượng không được đặt thành phiên bản của đối tượng". Khi tôi cố gắng mở một giải pháp, nó đã ném một số nhà cung cấp không được đặt chính xác.

Giải pháp: Sau nhiều giờ nghiên cứu thử tất cả các giải pháp được đề cập trước đây bởi những người khác đã không giải quyết được vấn đề của tôi. Mỗi lần cửa sổ bật lên lỗi được trỏ đến để kiểm tra ActivityLog.xml. Nhưng tôi đã bỏ qua nó. Sau nhiều giờ thất vọng, tôi quyết định đọc kỹ lỗi và xem xét ActivitLog.xml và thấy rằng nó đang tìm kiếm "Không thể tải tệp hoặc lắp ráp 'System.Collections.Immutable, Version = 1.1.37.0" . Vì vậy, tôi mới bắt đầu tìm kiếm hội đồng này và tình cờ tìm thấy liên kết này https://sergeytihon.com/2015/12/01/how-to-restore-viual-studio-2015-after-update-1-dependency-dance/ và làm theo các bước ở đó, mà đã khắc phục vấn đề của tôi.

Đã truy cập vào% LOCALAPPDATA% / Local \ Microsoft \ VisualStudio \ 14.0 \ devenv.exe.config và tìm kiếm "System.Collections.Immutable" và thay đổi newVersion từ 1.1.36.0 thành 1.1.37.0

Cấu hình cuối cùng sẽ trông như thế này

<dependentAssembly>
 <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
 <bindingRedirect oldVersion="1.0.27.0-1.1.65535.65535" newVersion="1.1.37.0"/>
</dependentAssembly>
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.