ข้อความแสดงข้อผิดพลาด“ ไม่พบการส่งออกที่ตรงกับชื่อสัญญาข้อ จำกัด ”


1070

เช้านี้ฉันประสบปัญหาขณะเปิดโซลูชัน Visual Studio ของฉันและเมื่อฉันพยายามเรียกใช้มันได้กล่าวว่า

ไม่พบการส่งออกที่ตรงกับชื่อสัญญาข้อ จำกัด

ฉันจะแก้ไขปัญหานี้ได้อย่างไร


4
ยินดีต้อนรับคุณยินดีที่จะนำคุณออกจากปัญหาที่น่ารำคาญนี้
Simon B.Robert

3
คุณไม่ควรโพสต์คำตอบของคุณเป็นคำตอบด้านล่าง? ด้วยวิธีนี้เราสามารถโหวตได้ถ้ามันเหมาะกับเรา (ซึ่งทำเพื่อฉัน) ;-)
Kenneth K.

7
ใครบ้างมีความคิดว่าทำไมเรื่องนี้เกิดขึ้น?
patrickvacek

คำตอบ:


2160

ฉันแก้ไขปัญหานี้ได้โดยการล้างแคช Visual Studio Component Model

เพียงลบหรือเปลี่ยนชื่อโฟลเดอร์นี้:

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

หรือ

%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache

และเริ่ม Visual Studio ใหม่

Visual Studio รุ่นที่คุณระบุมีจำนวนเช่น

Visual Studio 2012 คือ11.0(ดังที่แสดงด้านบน)

Visual Studio 2013 คือ 12.0

Visual Studio 2015 คือ 14.0

Visual Studio 2017 คือ 15.0

Visual Studio 2019 คือ 16.0

สำหรับผู้ที่ไม่ทราบว่า: %LocalAppData%\เป็นเช่นเดียวกับC:\Users\{yourUsername}\AppData\Local

สำหรับผู้ที่ติดตั้ง Visual Studio หลายรุ่นเช่น 2012 และ 2013 อาจช่วยลบ ComponentModelCache สำหรับทั้งสองเวอร์ชันก่อนที่จะเริ่มต้น Visual Studio ใหม่เช่น 11.0 และ 12.0


16
ทำงานให้ฉันเช่นกัน แต่สำหรับนักพัฒนา VS Desktop รุ่นด่วนฉันพบข้อมูลแคชใน ... \ AppData \ Local \ Microsoft \ WDExpress
josiah

4
ฉันไม่สามารถเปิดไฟล์ c ++ หลังจากลบทั้งหมดในโฟลเดอร์นั้นเมื่อฉันกู้คืนไฟล์เหล่านี้ยกเว้น Microsoft.VisualStudio.Default.cache จากนั้นเปิดโซลูชันของฉันอีกครั้งจากนั้นทุกอย่างกลับสู่ปกติ
สกอตต์混合理论

2
การลบไฟล์ Microsoft.VisualStudio.Default.cache ช่วยแก้ปัญหาได้
Tim Valentine

1
@alexo ปรากฏขึ้นสำหรับฉันหลังจากติดตั้ง. net 4.5.1 dev pack ใน vs 2012
mt_serg

4
ส่วนขยายนี้ทำสิ่งนี้โดยอัตโนมัติสำหรับคุณด้วยการคลิกเพียงครั้งเดียว (รวมถึงการรีสตาร์ท VS): ล้างแคช MEF Component visualstudiogallery.msdn.microsoft.com/…
kzu

150

ไม่จำเป็นต้องเปลี่ยนชื่อหรือลบทั้งโฟลเดอร์:

(%AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache)

เพียงเปลี่ยนชื่อหรือลบMicrosoft.VisualStudio.Default.cacheไฟล์ภายในตำแหน่งด้านบน


หากลบทั้งหมดในโฟลเดอร์นี้ไฟล์ c ++ อาจไม่สามารถเปิดได้
สกอตต์混合理论

นี่คือการช่วยชีวิต ขอบคุณอนันต
Zakir HC

73

Visual Studio Express 2012 มีเส้นทางที่แตกต่างกัน

Visual Studio Express

  • ... \ Users \ {user} \ AppData \ Local \ Microsoft \ WDExpress \ 11.0 \ ComponentModelCache

ด้วย Visual Studio Express 2012 สำหรับเว็บ

  • ... \ Users \ {user} \ AppData \ Local \ Microsoft \ VWDExpress \ 11.0 \ ComponentModelCache

ฉันไม่ต้องติดตั้ง Visual Studio Express อีกครั้ง


37

สิ่งนี้จะได้ผลเหมือนแชมป์:

วิธีแก้ไข: ลองลบโฟลเดอร์ ComponentModelCache จากตำแหน่งด้านล่าง

[C:]\Users\[your user name]\AppData\Local\Microsoft\VisualStudio\[Visual Studio version number]

และหลังจากลบสำเร็จให้สร้างโฟลเดอร์ใหม่ด้วยชื่อเดียวกัน "ComponentModelCache"


สิ่งนี้ช่วยฉันได้ขอบคุณสำหรับคำแนะนำ
Arief

28

การลบ Component Model Cache ไม่ทำงานสำหรับฉัน (เช่นกันไดเรกทอรีสัมพัทธ์ที่ระบุด้านบนไม่มีอยู่ในเครื่องของฉัน) ฉันติดตั้งส่วนขยายเป็นVisual Studio 2012 Expressแทน เครื่องมือเมนู→ * ส่วนขยายและการอัพเดท ... ** → ออนไลน์เลือกใด ๆจากนั้นดาวน์โหลด เห็นได้ชัดว่านี่ทำให้แคชใช้ไม่ได้ซึ่งทำให้ Visual Studio สร้างขึ้นใหม่

นี่คือฉันแหล่งที่มา


1
Visual Studio --EXPRESS-- มีตำแหน่งที่ตั้งอื่น ตรวจสอบคำตอบอื่น ๆ ในหัวข้อนี้
Pure.Krome

ในกรณีของฉันมันเกิดขึ้นหลังจากติดตั้งส่วนขยาย xamarin ในชุมชน VS2015 หลังจากลบทั้งหมดเป็นไปด้วยดี ฉันลบมันในที่เดียวกับที่คำตอบนี้ เครื่องมือ> ส่วนขยายและการอัปเดต
Ricardo Figueiredo

28

ปัญหานี้สามารถแก้ไขได้โดยการลบหรือล้างโฟลเดอร์และไฟล์ทั้งหมดจาก %AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

สิ่งนี้จะทำการล้างแคชโมเดลของ Visual Studio

บนเครื่องที่ใช้ Windows 7 เส้นทางจะแตกต่างกัน เมื่อคุณพิมพ์%appdata%ในการเรียกใช้C:\Users\<username>\AppData\Roamingโต้ตอบจะเปิดโฟลเดอร์

คลิกปุ่ม 'up' เพื่อไปยังโฟลเดอร์หลักและเลือกโฟลเดอร์ 'Local'

เส้นทางสุดท้าย: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache


20

สำหรับVisual Studio 2012และรุ่นที่ใหม่กว่าโซลูชันจะต้องลบเนื้อหาของโฟลเดอร์ComponentModelCache:

C:\Users\[username]\AppData\Local\Microsoft\WDExpress\11.0\ComponentModelCache

Visual Studio 2013

C:\Users\[username]\AppData\Local\Microsoft\VisualStudio\12.0\ComponentModelCache

20

สำหรับ Visual Studio 2013 คุณต้องลบโฟลเดอร์นั้นออกจากเส้นทางนี้:

%AppData%\..\Local\Microsoft\VisualStudio\12.0

1
ฉันพบสิ่งนี้หลังจากที่แบตเตอรี่หมดติดตั้งการอัปเดต xamarin ที่ค่อนข้างใหญ่สำหรับ vs2013 ไปที่โฟลเดอร์นี้เปลี่ยนชื่อ ComponenetModelCache และเมื่อรีสตาร์ทมันจะสร้างโฟลเดอร์ขึ้นใหม่และได้รับการแก้ไขแล้ว Ty
Dylan Hayes

ยังทำงานกับข้อผิดพลาดอื่นสำหรับฉัน:'visual c++ package' failed to load
JTIM

16

ฉันมีปัญหาเดียวกันเมื่อเปิดตัว Visual Studio 2013 Ultimate และวิธีแก้ปัญหาที่นี่ไม่ได้ผลสำหรับฉัน ฉันพยายามลบโฟลเดอร์ที่กล่าวถึงและเริ่มต้น Visual Studio อีกครั้ง แต่มันไม่ทำงาน

อย่างไรก็ตามฉันมีปัญหาอื่น ๆ เช่นแพคเกจ Microsoft.visual studio ไม่โหลดอย่างถูกต้องและหน้า '312e8a59-2712-48a1-863e-0ef4e67961fc' ไม่พบ VS 20122012 หลังหมายถึงข้อความในหน้าต่าง Team Explorer ที่บอกว่า "ไม่พบเพจ"

ดังนั้นฉันจึงเรียกใช้devenv /setupพรอมต์คำสั่ง Visual Studio ด้วยสิทธิ์ผู้ดูแล มันทำงานได้และทุกอย่างเรียบร้อยดี


ฉันกำลังลบโฟลเดอร์ที่ระบุ (Win 8.1, VS 2013 Prem) และมันจะกลับมาทุกครั้งที่ฉันปิดและเปิด VS อีกครั้ง น่าเสียดายที่มันไม่ได้ผลเช่นกัน
bdwakefield

1
หลังจากลองใช้วิธีแก้ปัญหาหลายอย่างแล้วก็เป็นเคล็ดลับที่ช่วยแก้ปัญหาของฉัน เนื่องจากพรอมต์คำสั่ง VS สำหรับ VS2013 ไม่ใช่เรื่องง่ายที่จะหาที่นี่เป็นเส้นทางไป: C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ ทางลัด
Tarabass

devenv / การติดตั้งแก้ไขปัญหาการขัดข้องด้วย VS 2015 Pro สำหรับฉัน ComponentModelCache ไม่ได้แก้ไข
Zach Green

ว้าว - ไม่ได้คาดหวังว่ามันจะทำงาน แต่มันก็ทำ! VS 2017 Community edition
scolja


11

การล้างโฟลเดอร์ไม่ได้ผลสำหรับฉัน ดังนั้นฉันจึงไปที่ 'โปรแกรมและคุณสมบัติ' และใช้ปุ่มเปลี่ยนเพื่อเริ่มต้นการตั้งค่า Visual Studio 2013

ในการตั้งค่าฉันเลือกฟังก์ชั่นการซ่อมแซมและแก้ไขปัญหาให้ฉัน


9

ฉันมีปัญหาเดียวกันกับ Visual Studio Express 2013 ของ Windows 8.1

น่าเสียดายที่ไม่มีโฟลเดอร์ "ComponentModelCache" ใน
% AppData% .. \ Local \ Microsoft \ VisualStudio \ 12.0 \ ComponentModelCache

ฉันพบโฟลเดอร์ "ComponentModelCache" ใน
.. \ Users [ชื่อผู้ใช้] \ AppData \ Local \ Microsoft \ WDExpress \ 12.0

และแก้ไขปัญหานี้โดยลบโฟลเดอร์นี้ออกจากที่นั่น


8

หากคุณมี VS 2013 คุณต้องไปที่: % LOCALAPPDATA% \ Microsoft \ VisualStudio \ 12.0 จากนั้นเปลี่ยนชื่อโฟลเดอร์ ComponentModelCache


+1 สำหรับ% LOCALAPPDATA% ฉันใช้% AppData% และไม่พบโฟลเดอร์ใด ๆ เช่น ComponentModelCache แต่ใช้% LOCALAPPDATA% ฉันจะได้รับ
Rajshekar Reddy

7

ฉันประสบปัญหาคล้ายกันหลังจากการอัปเดตบางอย่างจาก Microsoft (ส่วนหนึ่งของพวกเขาที่เกี่ยวกับ. NET Framework 4.5)

บนอินเทอร์เน็ตฉันได้รับลิงค์ไปยังบทความฐานความรู้ของ Microsoft ต่อไปนี้:

โปรแกรมปรับปรุงสำหรับ Microsoft Visual Studio 2012 (KB2781514)

มันใช้งานได้สำหรับฉัน


1
+1 - สุดยอดมาก! สิ่งนี้ช่วยแก้ไขปัญหาให้ฉันได้ มันเป็นทางออกที่ถูกต้องตามกฎหมายแทนการลบไฟล์แคชอย่างถาวรซึ่งอาจมีผลกระทบในอนาคต
Travis J

ยกเว้นว่าปัญหานี้ยังคงมีอยู่ใน VS2015 ดังนั้นจึงไม่น่าจะเป็น 'โซลูชันที่ถูกต้องตามกฎหมาย'
Neil

6

สิ่งนี้เกิดขึ้นกับฉันด้วย Visual Studio 2013 Web หลังจาก Windows ติดตั้งการปรับปรุงหลายอย่าง น่าเสียดายที่ไม่มีคำแนะนำในหัวข้อนี้ช่วย

ฉันต้องเรียกใช้โปรแกรมติดตั้งอีกครั้งและเลือกตัวเลือก "ซ่อมแซม" หลังจากนั้น (และรีบูต) มันก็ทำงานอีกครั้ง

ในบางกรณีคุณอาจต้องซ่อมแซม Visual Studio มากกว่าหนึ่งรุ่น ตัวอย่างหนึ่งคือเมื่อตัวควบคุมงานสคริปต์ใน VS 2013 เปิด VS 2012 เมื่อคุณคลิกแก้ไขสคริปต์


4

การเปลี่ยนชื่อโฟลเดอร์ ComponentModelCache ใช้งานได้สำหรับฉันใน Visual Studio 2015 แต่มีเส้นทางแตกต่างกันเล็กน้อย:

%AppData%\..\Local\Microsoft\VisualStudio\14.0\ComponentModelCache

3

ฉันมี Windows 7 x64 พร้อมพาร์ติชั่นที่สองซึ่งติดตั้ง Windows 8 (ดูตัวอย่าง) ในขณะที่ทำงานกับ Microsoft Visual Studio Express 2012 สำหรับ Windows Phone ฉันพบปัญหาเดียวกัน แต่ ComponentModelCache พบได้ที่นี่:

C: \ Users \ แรม \ AppData \ Local \ Microsoft \ VPDExpress \ 11.0

ฉันไม่สามารถลบหรือเปลี่ยนชื่อเมื่อได้รับข้อความ "การเข้าถึงถูกปฏิเสธ" เมื่อฉันพยายามใช้พรอมต์คำสั่ง:

ผู้ดูแลระบบ: VS2012 X64 CrossToolsCommandPrompt


3

ปัญหานี้เกิดจากความเสียหายของแคช MEF การติดตั้งส่วนขยายผลป้อนกลับ (หรือติดตั้งส่วนขยายใด ๆ ) จะทำให้แคชใช้ไม่ได้ซึ่งเป็นสาเหตุให้ VS สร้างขึ้นใหม่

คลิกเพื่อดูแหล่งที่มา


3

ฉันใช้ Visual Studio 2012 หลังจากติดตั้ง Visual Studio 2013 Express Web เมื่อฉันต้องการเรียกใช้หรือเปิดโครงการใด ๆ ใน Visual Studio 2012 จะแสดงข้อผิดพลาดต่อไปนี้ให้ฉัน:

" การส่งออกไม่พบว่าตรงกับชื่อในสัญญาข้อ จำกัด"

ฉันได้ลองวิธีข้างต้นเพื่อล้างComponentModelCacheแต่ฉันไม่พบโฟลเดอร์ ฉันแก้ไขปัญหาของฉันโดย: Repair Visual Studio 2012

สำหรับซอฟต์แวร์ Express เวอร์ชันโฟลเดอร์ที่คุณต้องการจะอยู่ในตำแหน่งที่แตกต่างกันเล็กน้อย: สำหรับ Express 2012 สำหรับเว็บC:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpressไม่ใช่ - อยู่ในโฟลเดอร์ Visual Studio


1
มันเกิดขึ้นกับฉันในปี 2013 โดยเป็นสตูดิโอภาพเดียวที่ติดตั้งในเครื่องของฉัน - ทำการซ่อมแซมตามที่คุณพูดถึงผ่านแผง "ถอนการติดตั้งโปรแกรม" และได้รับการแก้ไข
Dave Rael

ฉันไม่พบโฟลเดอร์ในตอนแรกด้วยการใช้% AppData% แต่โดยการใช้% LOCALAPPDATA% ฉันสามารถนำทางและค้นหาโฟลเดอร์ได้
Rajshekar Reddy

bingo ,,,, คำตอบนี้ถูกต้องสำหรับฉันมากขึ้น
Rohit Behera

2

ฉันประสบปัญหานี้ใน Microsoft Visual Studio Express 2012 สำหรับโทรศัพท์ windows ในขณะที่พยายามเปิดไฟล์

จากนั้นฉันก็เรียกดู

C: \ Users \ MyUserName \ AppData \ Local \ Microsoft \ VPDExpress \ 11.0 \ ComponentModelCache

และ Inside ComponentModelCache ฉันลบไฟล์ Microsoft.VisualStudio.Default.cache CACHE Finaly ฉันเริ่มต้นสตูดิโอภาพและเปิดโครงการของฉันอีกครั้ง

จากนั้นแก้ไขปัญหาของฉันฉันสามารถเปิดไฟล์ได้

หมายเหตุ: ระบบปฏิบัติการของฉันคือ windows 8 และฉันติดตั้ง SDK 8 สำหรับการพัฒนาแอพ windows phone

ขอบคุณ


2

ฉันพบข้อผิดพลาดพร้อมข้อความแสดงข้อผิดพลาดเดียวกัน - สองปีต่อมา เป็นปัญหาที่แตกต่างในครั้งนี้ที่เกี่ยวข้องกับ. NET Core dnx

ฉันไม่พบคำตอบใน Stack Overflow แต่มีปัญหา GitHub ที่มีวิธีแก้ไข: https://github.com/aspnet/Home/issues/1455

ด้านล่างเป็นส่วนที่สำคัญที่สุดของการแก้ไขปัญหา:

  • ลบC:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNXไดเรกทอรีทั้งหมด (เท่าที่ฉันเข้าใจมันเป็นของ ASP.NET Core RC1 เวอร์ชั่นเก่าซึ่งด้วยเหตุผลบางอย่างยังคงจัดส่งแม้ว่าจะมี Visual Studio 2015 Update-3)
  • ลบC:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.configไฟล์
  • เรียกใช้พรอมต์คำสั่งของนักพัฒนาสำหรับ Visual Studio 2015 ในฐานะผู้ดูแลและดำเนินการdevenv /setupคำสั่ง ไฟล์ devenv.exe.config ใหม่ถูกสร้างขึ้น เวลานี้มีแอสเซมบลีมากมายที่อ้างถึง C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\DotNetไดเรกทอรี
  • เรียกใช้ Visual Studio 2015 และตรวจสอบว่ามันแสดงเครื่องมือ Microsoft .NET Core (ตัวอย่าง 2) 14.1.20624.0 ในวิธีใช้ => เกี่ยวกับเมนู Microsoft Visual Studio

ขอบคุณโพสต์ของolegburovใน GitHub สำหรับการพิจารณาสิ่งนี้


1

ฉันต้องถอนการติดตั้งส่วนประกอบภายนอกบางอย่างเช่น Postsharp และ Apex แล้วก็ใช้งานได้ ฉันลองใช้วิธีแก้ปัญหาที่เลือกไว้ แต่มันทำให้ฉันมีข้อผิดพลาดเพิ่มขึ้น


1

การลบโฟลเดอร์ไม่ทำงานสำหรับฉันฉันได้ไปที่แผงควบคุมและซ่อมแซม

Visual Studio Installer Projects extensions for VS 2013.

และมันก็ได้ผลกับฉันด้วย


0

ฉันได้รับข้อผิดพลาดนี้หลังจากติดตั้งIntelliJ IDEAและReSharper ใหม่สำหรับ C # ใน Visual Studio 2013

ก่อนอื่นฉันพบปัญหาข้อผิดพลาดกับส่วนขยายและหลังจากนี้ฉันก็พบข้อผิดพลาดนี้:

"ไม่พบการส่งออกที่ตรงกับชื่อสัญญาข้อ จำกัด "

ฉันเพิ่งลบโฟลเดอร์ ComponentModelCache และแก้ไขข้อผิดพลาดนี้


0

2 เซนต์ของฉัน: ทำตามเคล็ดลับการช่วยชีวิตข้างต้นทั้งหมดฉันมีประสบการณ์ที่แตกต่างออกไปเล็กน้อย ของฉันคือ VS 2017 Community Edition ติดตั้งครั้งเดียวและฉันสังเกตเห็นว่ามี 3 โฟลเดอร์เหล่านี้:

%LocalAppData%\Microsoft\VisualStudio\15.0 ==> Empty
%LocalAppData%\Microsoft\VisualStudio\7f0c75b0 ==> has only the CoreCon folder

นี่คืออันที่มี ComponentModelCache:

%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0

การลบเฉพาะ Microsoft.VisualStudio.Default.cache ไม่มีผลใด ๆ

ดังนั้นฉันจึงลบทั้ง 4 ไฟล์นั่น: .cache, .err,. ภายนอกและแคตตาล็อก เมื่อรีสตาร์ท VS เกิดปัญหาขึ้นและปรากฏไฟล์ที่ 5:

Microsoft.VisualStudio.Default.scan

0

การลบComponentModelCacheไม่ได้ผลสำหรับฉัน การติดตั้ง VS 2019 อีกครั้งต้องขอบคุณคำแนะนำนี้หัวข้อการสนับสนุนไมโครซอฟท์

รายละเอียด

  • สิ่งนี้ดูเหมือนจะเป็นข้อผิดพลาดที่ทราบพร้อมการแก้ไขที่ขาเข้าจาก MS (จนถึง 1/7/2020)
  • มีประสบการณ์หลังจากอัปเกรดจาก VS2019 Pro 16.2 (ฉันคิดว่ามันเป็น?) เป็น 16.4.2 โดยใช้ Visual Studio Installer
  • ข้อผิดพลาดปรากฏขึ้นเมื่อพยายามเปิดทั้งคอนโซล nuget และผู้จัดการแพ็คเกจ nuget
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.