ข้อผิดพลาด Visual Studio "การอ้างอิงวัตถุไม่ได้ตั้งค่าเป็นอินสแตนซ์ของวัตถุ" หลังจากติดตั้ง ASP.NET และ Web Tools 2015


125

หลังจากติดตั้ง ASP.NET และ Web Tools 2015 (RC1 update 1) ฉันได้รับข้อผิดพลาดต่อไปนี้ภายในโครงการ ASP.NET MVC 4 เมื่อเปิด*.cshtmlไฟล์:

การอ้างอิงวัตถุไม่ได้ตั้งค่าเป็นตัวอย่างของวัตถุ

ใส่คำอธิบายภาพที่นี่

ฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกันแม้ว่าฉันจะเริ่มโปรเจ็กต์ ASP.NET MVC 4 ใหม่และพยายามเปิด*.cshtmlไฟล์ที่นั่น

ฉันใช้ Visual Studio 2015


1
คุณลองซ่อม Visual Studio แล้วหรือยัง?
Silvermind

ยังไม่ได้ แต่ฉันใช้เพียงการซ่อมแซม มาดูกันว่ามีอะไรบ้าง
Carsten Cors

บางครั้งสิ่งที่คุณต้องทำก็แค่รีสตาร์ท VS :)
Kien Chu

1
@fiorebat เมื่อ RC2 ฉันไม่มีปัญหาที่อธิบายไว้ที่นี่
Carsten Cors

ปิด VS จากนั้นทำขั้นตอนที่ 1.1 และเริ่มต้นใหม่เพื่อล้างปัญหาให้ฉัน เมื่อฉันเปิดโครงการทดสอบในตอนแรกฉันได้รับข้อผิดพลาดมากมายเกี่ยวกับการตั้งค่า แต่มันเปิดขึ้น ขอบคุณ
NetHawk

คำตอบ:


196

สิ่งนี้อาจช่วยได้:

  1. ลบเนื้อหาจากโฟลเดอร์ต่อไปนี้:
    1. C: \ Users \% userprofile% \ AppData \ Local \ Microsoft \ VisualStudio
    2. C: \ Users \% userprofile% \ AppData \ Local \ Microsoft \ VSCommon
  2. บางครั้งคุณต้องไปที่:
    1. [x64] C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE
    2. [x86] C: \ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE

devenv /resetuserdataและเรียกใช้

คาดว่าการตั้งค่าผู้ใช้ทั้งหมดของคุณเช่นเค้าโครง Visual Studio บัญชี Microsoft ที่เชื่อมโยงหรือหน้าเริ่มต้นอาจหายไป


6
ทำงาน !! อย่างไรก็ตามฉันเพิ่งเปลี่ยนชื่อ Visualstudio & VSCommon dirs เป็น VisualStudio_old & VSCommon_old ไม่จำเป็นต้องเรียกใช้ "devenv / resetuserdata"
Ray

1
@DamianKobak - ใช่มันมักจะช่วยได้ แต่สำหรับวิธีแก้ปัญหาเฉพาะเท่านั้น เมื่อเกิดข้อผิดพลาดในทุกขั้นตอนของโครงการในชุดคำตอบที่ดีกว่า
Fka

90
จริงๆแล้วการลบโฟลเดอร์ ComponentModelCache บนเส้นทาง C: \ Users \ {user} \ AppData \ Local \ Microsoft \ VisualStudio \ {เวอร์ชัน - 14 หรือ 12} ก็เพียงพอแล้ว คุณสามารถเก็บส่วนที่เหลือไว้และไม่มีการตั้งค่าใด ๆ หายไป ...
Tom Burger

1
สิ่งนี้ใช้ได้กับ VS ทั้งหมดเนื่องจากแตกต่างกันเฉพาะใน\Microsoft Visual Studio <THIS NUMBER>\Common7\IDE.
Fka

3
ตรวจสอบให้แน่ใจว่าคุณได้ส่งออกการตั้งค่าของคุณเนื่องจากจะล้างออกและคุณจะต้องนำเข้าในภายหลังนี่เพิ่งแก้ไขข้อผิดพลาดที่คล้ายกันสำหรับฉันใน VS2017 ที่เกิดขึ้นหลังจากที่ฉันเพิ่มการรองรับ C ++ ผ่านตัวติดตั้ง โปรดทราบว่าการลบ ComponentModelCache ไม่ได้ช่วย
Rimmel


15

สำหรับฉัน,

  1. ฉันสิ้นสุดกระบวนการในตัวจัดการงานของ Windows: VsHub.exeไปนี้:
  2. รีสตาร์ท Visual Studio

หลังจากนั้นทุกอย่างก็กลับมามีเสน่ห์อีกครั้ง!


ฉันเพิ่มคะแนนคำตอบของคุณเพราะแก้ปัญหาของ 'Object Null Reference' แต่หลังจากนั้นฉันก็ได้รับข้อยกเว้นใหม่ใน Visual StudioThe operation is not completed, invalid pointer
Hakan Fıstık

7

ฉันแก้ไขมันทำ

run devenv /resetuserdata

ในเส้นทางนี้:

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

ฉันคิดว่าใน x86 มันทำงานในเส้นทางนี้:

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

1
อันนี้ใช้ได้สำหรับฉัน แต่น่าเสียดายที่มันรีเซ็ตหลายสิ่งหลายอย่างรวมถึง Re # :(
CătălinRădoi

ฉันเพิ่งลองใช้และได้ผลสำหรับฉัน แล้วสิ่งนี้ทำให้มันทำงานได้อย่างไร?
tylerlindell

5

ขอแนะนำให้ลองทำอย่างใดอย่างหนึ่งหรือทั้งหมดต่อไปนี้:

  • รีสตาร์ท Visual Studio

  • ลองใช้งานในฐานะผู้ดูแลระบบ (คลิกขวาที่ Visual Studio แล้วเลือก "Run As Administrator")

  • ตรวจสอบการอัปเดตสำหรับ Visual Studio (ดาวน์โหลดและติดตั้งหากมี)

  • ลองเปิดโซลูชัน / โครงการอื่น

หากปัญหายังคงมีอยู่คุณอาจลองใช้ตัวเลือกต่อไปนี้:

  • รีสตาร์ทเครื่องในพื้นที่ของคุณ

  • พยายามรีเซ็ต Visual Studio เป็นค่าเริ่มต้นของระบบ (สามารถทำได้จากตัวเลือกภายใน Visual Studio)

  • พยายามซ่อมแซมการติดตั้ง Visual Studio ของคุณ


3

ด้วยความหวังว่ามันอาจจะแคบลง / ช่วยเหลือใครบางคนฉันจึงใช้วิธีการสืบสวน สำหรับฉันตอนแรกฉันย้ายโฟลเดอร์ที่ C: \ Users \ {user} \ AppData \ Local \ Microsoft \ VisualStudio ไปยัง My Documents และอนุญาตให้ Visual Studio สร้างใหม่โดยเปิดใช้งานใหม่ สิ่งนี้ลบข้อผิดพลาด ดังนั้นฉันจึงย้ายทุกอย่างกลับไปทีละรายการและเริ่ม Visual Studio ใหม่ทุกครั้งจนกว่าฉันจะค้นพบผู้ร้าย โฟลเดอร์เหล่านี้สามารถย้ายกลับเข้าไปได้:

  • 1033 (เขียนทับสำเนาที่สร้างขึ้นอัตโนมัติด้วยไฟล์เก่า)
  • นักออกแบบ (อยู่ในสำเนาเก่าของฉันไม่ได้สร้างขึ้นใหม่ในตอนแรกเมื่อฉันเปิดตัว VS อีกครั้งคัดลอกกลับเข้ามา)
  • ส่วนขยาย (เขียนทับสำเนาที่สร้างขึ้นอัตโนมัติด้วยไฟล์เก่า)
  • ImageLibrary (เขียนทับสำเนาที่สร้างขึ้นอัตโนมัติด้วยไฟล์เก่า)
  • การแจ้งเตือน (เขียนทับสำเนาที่สร้างขึ้นอัตโนมัติด้วยไฟล์เก่า)
  • STemplate (อยู่ในสำเนาเก่าของฉันไม่ได้สร้างขึ้นในตอนแรกเมื่อฉันเปิดตัว VS อีกครั้งคัดลอกกลับเข้าไป)
  • VTC (อยู่ในสำเนาเก่าของฉันไม่ได้สร้างขึ้นในตอนแรกเมื่อฉันเปิดตัว VS อีกครั้งคัดลอกกลับเข้ามา)

ไฟล์เหล่านี้สามารถย้ายกลับ / เขียนทับไฟล์ที่สร้างขึ้นอัตโนมัติได้:

  • ApplicationPrivateSettings (อยู่ในสำเนาเก่าของฉันไม่ได้สร้างขึ้นในตอนแรกเมื่อฉันเปิดตัว VS อีกครั้ง)
  • ApplicationPrivateSettings.lock (เขียนทับสำเนาที่สร้างขึ้นอัตโนมัติด้วยเก่า)
  • vspdmc.lock (เขียนทับสำเนาที่สร้างขึ้นอัตโนมัติด้วยไฟล์เก่า)

ไฟล์เหล่านี้สามารถย้ายกลับได้โดยปกติแต่ละไฟล์อยู่ในสำเนาเก่าของฉันและไม่ได้สร้างขึ้นใหม่ในตอนแรกเมื่อฉันเปิดตัว VS ใหม่:

  • .NETFramework เวอร์ชัน = v4.0 ชุด = กรอบแฮ = C958D412.dat
  • .NETFramework เวอร์ชัน = v4.0 ชุด = RecentAssemblies, แฮ = 0.dat
  • .NETFramework เวอร์ชัน = v4.5 ชุด = ส่วนขยายแฮ = 75EAE334.dat
  • .NETFramework เวอร์ชัน = v4.5 ชุด = ส่วนขยายแฮ = 497525A2.dat
  • .NETFramework เวอร์ชัน = v4.5 ชุด = กรอบแฮ = 5AE9A175.dat
  • .NETFramework เวอร์ชัน = v4.5.2 ชุด = ส่วนขยายแฮ = 24CEEB0D.dat
  • .NETFramework เวอร์ชัน = v4.5.2 ชุด = ส่วนขยายแฮ = 72AE305.dat
  • .NETFramework เวอร์ชัน = v4.5.2 ชุด = ส่วนขยายแฮ = ADF899D7.dat
  • .NETFramework เวอร์ชัน = v4.5.2 ชุด = กรอบแฮ = D8E943A2.dat

สิ่งเหล่านี้ทำให้เกิดปัญหา - ลบไฟล์เหล่านี้และเปิดใช้ VS ใหม่เพื่ออนุญาตให้สร้างขึ้นใหม่:

  • ComponentModelCache - เมื่อฉันเขียนทับเนื้อหาของโฟลเดอร์นี้ด้วยไฟล์เก่าของฉัน (4 ไฟล์: MS.VS.Default.cache, .catalogs, .err, .external) สิ่งนี้ทำให้ฉันมีข้อผิดพลาดทั้งหมดที่ฉันได้รับมาก่อนเกี่ยวกับความไม่สามารถ โหลดแพ็กเกจเมื่อโหลดโปรเจ็กต์ของฉันและเกิดข้อผิดพลาด "การอ้างอิงอ็อบเจ็กต์ไม่ได้ตั้งค่าเป็นอินสแตนซ์ของอ็อบเจ็กต์" เมื่อพยายามปิด VS
  • devenv.exe.config - เหมือนกับ ComponentModelCache
  • .NETFramework, Version = v4.0, Set = Extensions, Hash = 6D09DECC.dat - ทำให้เกิดข้อผิดพลาดจากบริการภาษา JavaScript บ่นว่าไฟล์ js หายไป
  • .NETFramework, Version = v4.0, Set = Extensions, Hash = 9951BC03.dat - ทำให้เกิดข้อผิดพลาดจากบริการภาษา JavaScript โดยบ่นว่าไฟล์ js หายไป
  • .NETFramework, Version = v4.5.2, Set = RecentAssemblies, Hash = 0.dat - ทำให้เกิดข้อผิดพลาดจากบริการภาษา JavaScript บ่นว่าไฟล์ js หายไป

นี่คือข้อผิดพลาดจากไฟล์. NETFramework สุดท้าย (ซึ่งฉันจะไม่ได้รับหากไม่เพิ่มกลับเข้าไป):

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.

ฉันอาจต้องติดตั้งใหม่ / ซ่อมแซมปลั๊กอิน JavaScript Language Service ใหม่ดังนั้นจึงอาจไม่เกี่ยวข้องกัน แต่แน่นอนว่า devenv.exe.config และ ComponentModelCache ต้องไปแก้ไขข้อผิดพลาด "object reference not set to an instance of an object"


1
ฉันประสบปัญหาเมื่อคัดลอกและวางใน Visual Studio 2013 การลบโฟลเดอร์ ComponentModelCache ใช้งานได้สำหรับฉัน
Edward Comeau

3

สำหรับฉันยังไม่จำเป็นต้องใช้ ASP.NET 5 ฉันลบการอัปเดตและติดตั้ง ASP.NET 4.5 ใหม่แล้ว ค่อนข้างยุ่งยาก:

  1. นำออกจากแผงควบคุม "Microsoft ASP.NET 5 RC1 Update1" หลังจากนั้นคุณจะไม่เปิดโปรเจ็กต์ ASP.NET MVC อีกต่อไป
  2. จากนั้นฉันเปลี่ยนการติดตั้ง "Microsoft Visual Studio Professional 2015" คลิก "Modify" และเลือก "Microsoft Web Developer Tools"

ไม่ติดตามการแจ้งอัพเดตใน Visual Studio 2015 อีกต่อไป !!!


3

หลังจากลองทำตามคำตอบด้านบนฉันพบว่าคุณต้องรีสตาร์ทคอมพิวเตอร์ด้วย ข้อผิดพลาดอาจเป็นส่วนหนึ่งของปัญหาคอมไพล์เช่นเดียวกับการรีสตาร์ทคอมพิวเตอร์ของคุณจะรีเซ็ต


2

ฉันได้รับข้อยกเว้นทุกครั้งที่พยายามสร้างโครงการ "ใหม่"

วิธีแก้ปัญหาของฉันคือ:

  1. ไปที่เมนูเครื่องมือส่วนขยายและการอัปเดต

  2. ตรวจสอบลิงก์ "อัปเดต" ... มีการอัปเดต Microsoft ASP.NET และ Web Tools ติดตั้ง

ที่แก้ไขให้ฉัน


FYI: ฉันมีการอัปเดตที่รอดำเนินการต่างๆ แต่ในทำนองเดียวกันการติดตั้งสิ่งเหล่านี้สามารถแก้ไขปัญหาได้
JohnLBevan

2

ในกรณีของฉัน (ไม่จำเป็นต้องเป็นวิธีแก้ปัญหาสำหรับคุณ แต่อาจเป็นประโยชน์สำหรับใครบางคน) วิธีแก้ปัญหาคือ:

  1. ไปที่เมนูเครื่องมือส่วนขยายและการอัปเดต

  2. เลือกOnlineแท็บจากแผงด้านขวา

  3. ค้นหาคำweb toolsจากนั้นเลือกMicrosoft ASP.NET and Web Toolsและติดตั้ง

ในกรณีของฉันสิ่งนี้หายไปจากคอมพิวเตอร์ของฉันเนื่องจากมีการซ่อมแซม Visual Studio เป็นจำนวนมาก


1

ฉันได้รับข้อยกเว้นนี้ทุกครั้งที่สร้างโครงการ "ใหม่"

วิธีแก้ปัญหาของฉันคือ:

  • ไปที่เมนูเครื่องมือ ? ส่วนขยายและการอัปเดต
  • ไม่ตรวจสอบลิงก์ "อัปเดต" ... ค้นหา "asp.net" มีการอัปเดต Microsoft ASP.NET และ Web Tools รับเป็น AspNetWebFrameworksTools2015_KB3137909.exe และติดตั้ง

ที่แก้ไขให้ฉัน


น่าเสียดายที่ฉันพบข้อยกเว้นอื่น:

"ข้อยกเว้นถูกโยนทิ้งโดยเป้าหมายของการร้องขอ"

ฉันปิดการFIPSตั้งค่าเปิดใช้งานDWORDค่าเป็นศูนย์

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

1

ไปที่ windows + R แล้วพิมพ์% temp% แล้วกด Enter ลบโฟลเดอร์ temp และไฟล์จากนั้นลองเปิดเหมือนกัน


0

ฉันต่อสู้กับเรื่องนี้มาตลอดทั้งสัปดาห์ แต่มันค่อนข้างง่ายที่จะทำ สิ่งที่ฉันทำคือคลิกที่ซ่อมแซมแทนที่จะถอนการติดตั้ง หลังจากซ่อมฉันคลิกที่รีสตาร์ทโดยตรง หลังจากนั้นทุกอย่างก็ทำงานได้อย่างสมบูรณ์ ลองทำดูนะคะอาจได้ผลกับคุณด้วย !!!


0

การรีสตาร์ท Visual Studio ทำได้เพื่อฉัน ในการรันครั้งถัดไปจะแสดงข้อความ "กำลังสแกนส่วนประกอบ MEF ใหม่และอัปเดต ... " จากนั้นจะดำเนินการตามปกติ

ดูเหมือนว่าจะเกี่ยวข้องกับการอัปเดต Windows อย่างใดแม้ว่าฉันจะไม่มีหลักฐาน


0

ลบโฟลเดอร์ bin และ obj ในโครงการทั้งหมดของโซลูชันนั้น

ดูเหมือนว่าโฟลเดอร์เหล่านั้นมีไฟล์เก่าที่สร้างขึ้นโดย Visual Studio เวอร์ชันเก่าบางรุ่นซึ่งเข้ากันไม่ได้กับ Visual Studio เวอร์ชันใหม่


0

วิธีแก้ปัญหาเมื่อฉันมีก่อนหน้านี้ในวันนี้คือมีชุดแท็กเพิ่มเติมที่ปิดท้าย Web.config ของฉัน เมื่อลบฟังก์ชันการทำงานกลับ


0

ฉันได้รับข้อผิดพลาดที่คล้ายกันใน VS2017 ขณะพยายามเผยแพร่โซลูชันของฉันไปยัง Azure

อัลกอริทึมนี้ช่วยฉันแก้ไข:

  1. ปิด VS2017
  2. เปิด C: \ Users {your user name} \ AppData \ Local \ Microsoft \ VisualStudio \ folder
  3. เปลี่ยนชื่อโฟลเดอร์ 15.0_08edcd83
  4. เริ่ม VS
  5. เผยแพร่ผลงานได้ดี!

โปรดทราบว่าการดำเนินการนี้จะลบไฟล์ / โครงการล่าสุดของ Visual Studio ออกจากประวัติและลิงก์ไปยังบัญชี MS

วิธีนี้แตกต่างจากคำตอบด้านบนเล็กน้อย ที่นี่คุณไม่จำเป็นต้องลบโฟลเดอร์อื่น ๆ ยกเว้นการเปลี่ยนชื่อด้านบนกล่าวถึง


-1

ปัญหา: VS 2015 ของฉันเกิดข้อผิดพลาดหลังจากติดตั้ง SSDT เมื่อใดก็ตามที่ฉันคลิกที่ Tools >> Extensions and Update มันก็แสดงข้อผิดพลาด "Object reference not set to an instance of an object" error เมื่อฉันพยายามเปิดโซลูชันมันทำให้ผู้ให้บริการบางรายตั้งค่าไม่ถูกต้อง

วิธีแก้ปัญหา: หลังจากทดลองใช้วิธีแก้ปัญหาทั้งหมดที่กล่าวถึงก่อนหน้านี้หลายชั่วโมงไม่สามารถแก้ปัญหาของฉันได้ ทุกครั้งที่ป๊อปอัปข้อผิดพลาดชี้ให้ตรวจสอบ ActivityLog.xml แต่ฉันไม่สนใจมัน หลังจากชั่วโมงของแห้วฉันตัดสินใจที่จะอ่านข้อผิดพลาดอย่างรอบคอบและมองเข้าไปใน ActivitLog.xml และพบว่ามันถูกมองหา"ไม่สามารถโหลดไฟล์หรือประกอบ 'System.Collections.Immutable เวอร์ชัน = 1.1.37.0" ดังนั้นฉันจึงเริ่มค้นหาแอสเซมบลีนี้และสะดุดกับลิงค์นี้https://sergeytihon.com/2015/12/01/how-to-restore-viual-studio-2015-after-update-1-dependency-dance/ และ ทำตามขั้นตอนที่นั่นซึ่งแก้ไขปัญหาของฉันได้

เข้าไปใน% LOCALAPPDATA% / Local \ Microsoft \ VisualStudio \ 14.0 \ devenv.exe.config และค้นหา "System.Collections.Immutable" และเปลี่ยน newVersion จาก 1.1.36.0 เป็น 1.1.37.0

การกำหนดค่าขั้นสุดท้ายควรมีลักษณะดังนี้

<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>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.