फ़ाइल या असेंबली लोड नहीं कर सका 'Microsoft.Build.Framework' (VS 2017)


87

जब मैं कमांड "अपडेट-डेटाबेस" चलाने की कोशिश करता हूं, तो मुझे यह अपवाद मिलता है:

लक्ष्य डेटाबेस पर लागू किए जा रहे SQL कथनों को देखने के लिए '-Verbose' ध्वज निर्दिष्ट करें। System.IO.FileNotFoundException: फ़ाइल या असेंबली को लोड नहीं कर सका 'Microsoft.Build.Framework, संस्करण = 15.1.0.0, संस्कृति = तटस्थ, PublicKeyToken = b03f5f7f11dda3a' या इसकी एक निर्भरता। सिस्टम निर्दिष्ट फाइल का पता लगाने में नाकामयाब रहा। फ़ाइल नाम: 'Microsoft.Build.Framework, संस्करण = 15.1.0.0, संस्कृति = तटस्थ, PublicKeyToken = b03f5f7f11d50a3a'

WRN: असेंबली बाइंडिंग लॉगिंग बंद है। असेंबली बाइंड विफलता लॉगिंग को सक्षम करने के लिए, रजिस्ट्री मान [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) को 1 पर सेट करें। नोट: असेंबली बाइंड विफलता लॉगिंग के साथ संबद्ध कुछ प्रदर्शन जुर्माना है। इस सुविधा को बंद करने के लिए, रजिस्ट्री मान [HKLM \ Software \ Microsoft \ Fusion! EnableLog] को हटा दें।

फ़ाइल या असेंबली को लोड नहीं कर सका 'Microsoft.Build.Framework, संस्करण = 15.1.0.0, संस्कृति = तटस्थ, PublicKeyToken = b03f5f7f11d50a3a' या इसकी एक निर्भरता। सिस्टम निर्दिष्ट फ़ाइल नहीं ढूँढ सकता है


1
जर्मन में, यह त्रुटि संदेश पढ़ता है: "डाई डेटी ओडर असेंबली" Microsoft.Build.Framework, संस्करण = 15.1.0.0, संस्कृति = तटस्थ, PublicKeyToken = b03f5f7f11d50aa "oder eine Abhängigkeit davon wurde nicht gefunden"।
उवे कीम

जवाबों:


93

मेरा मानना ​​है कि आपके पास जैसा था वैसा ही मुद्दा था। मैंने संपूर्ण त्रुटि संदेश सहेजा नहीं था, लेकिन मेरा त्रुटि संदेश था

' फ़ाइल या असेंबली लोड नहीं की जा सकी' Microsoft.Build.Framework, संस्करण = 15.1.0.0, संस्कृति = तटस्थ, PublicKeyToken = b03f5f7f11d50a3a 'या इसकी एक निर्भरता। सिस्टम निर्दिष्ट फाइल का पता लगाने में नाकामयाब रहा। '

मैं विजुअल स्टूडियो 2017 का उपयोग कर रहा हूं और इसके Update-Databaseबाद करने की कोशिश कर रहा हूं Add-Migration

इस समस्या को हल करने के लिए मैंने विजुअल स्टूडियो को बंद कर दिया और इसे फिर से खोला , फिर से फिर से चलाया Update-Database

यह आपकी समस्या को हल कर सकता है या नहीं भी कर सकता है, लेकिन मुझे लगा कि मैं इसके मामले में मदद करूंगा।


6
हां, ऐसा प्रतीत होगा कि "टर्न-इट-ऑफ-एंड-ऑन-अगेन" इस मामले में समाधान का सही रास्ता है।
डैरेन ओस्टर

16
यह काम करता है लेकिन मैं इसे एक सही जवाब नहीं मानता। मैं एक बार और हमेशा के लिए इसे ठीक करना चाहूंगा, वीएस को पुनरारंभ किए बिना।
स्टेनिस्लाव

1
यह अब माइग्रेशन के बाद हर बार होता है और इसे काम करने के लिए एक पूर्ण पीसी रिबूट की आवश्यकता होती है।
ओवरमैर्स

3
मैंने हर प्रस्तावित समाधान की कोशिश की है। उनमें से कोई भी समस्या का स्थायी समाधान नहीं करता है। मुझे Visual Studio को पुनरारंभ करना है।
अगस्तो बैरेटो

4
यह
गितुब

99

हमारी स्थानीय बिल्ड स्क्रिप्ट NuGet पैकेजों को पुनर्स्थापित करने के लिए nuget.exe( 4.7.1.5393) पुराने संस्करण का उपयोग कर रही थी । विजुअल स्टूडियो 2019 संस्करण में अपडेट करने के बाद हमें यह त्रुटि मिलनी शुरू हुई 16.5.0nuget.exe( 5.4.0.6315) के नवीनतम संस्करण में अपडेट करना हमारे लिए समस्या को निर्धारित करता है।

nuget.exeयहाँ डाउनलोड किया जा सकता है: https://www.nuget.org/downloads


27
उस चुनौती का सामना करना पड़ा जब हमने एक बिल्ड सर्वर पर केवल VS2019 स्थापित किया। हमारे Azure DevOps में इसे ठीक करने के लिए यह NuGet टूल इंस्टॉलर चरण में संस्करण 5.4.0 का अनुरोध करने के लिए काम करता है।
एल्डर स्मैश

3
मेरी टीमसिटी पर 4.3.0 से 5.6 तक अपग्रेड किया गया। इससे मेरा मुद्दा ठीक हो गया। धन्यवाद!
१४:४४ पर एसेथ

3
यही था वह। बहुत बहुत धन्यवाद! 4.4.1 से 5.4.0 तक चला गया।
DaleyKD 16

2
@ElderSmash हम अज़ूर देवओप का निर्माण भी कर रहे हैं। हमारे मामले में समस्या से NuGet संस्थापक कदम को अपडेट करके हल किया गया था NuGetToolInstaller@0करने के लिए NuGetToolInstaller@1, यहां तक कि एक नए संस्करण निर्दिष्ट किए बिना। हालांकि यह सुनिश्चित नहीं है कि क्या यह समस्या के मूल कारण को ठीक करता है या फिक्स स्थानीय कैश को साफ़ करने का एक साइड-इफ़ेक्ट है।
मार्कसएम

2
@ElderSmash यही मेरी समस्या और समाधान था, धन्यवाद!
डेनी

41

इस समस्या का मूल कारण devenv.exe.configफ़ाइल में रिश्तेदार पथ से आता है Microsoft.Build.Framework.dll(xml टैग देखें)।

कुछ विज़ुअल स्टूडियो एक्सटेंशन वर्तमान निर्देशिका को बदल रहे हैं और सापेक्ष पथ को अमान्य बनाते हैं।

इसे ठीक करने के लिए, इस फ़ाइल को C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\निर्देशिका में खोलें । और सभी ..\..\MSBuild\15.0\Bin\द्वारा प्रतिस्थापित C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\


मैं Visual Studio Professioal का उपयोग कर रहा हूँ मुझे भी यही करना चाहिए। मुझे यह त्रुटि कई बार मिल रही है?
शान

मेरे पास आईडीई (सामुदायिक संस्करण) के तहत एक MSBuild फ़ोल्डर नहीं था, मैंने अपने MSBuild को "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ समुदाय" से कॉपी किया था और इसने कुछ भी ठीक नहीं किया।
ओवरमैर्स

1
मैं 2017 प्रो का उपयोग कर रहा हूं और इसने मेरे लिए इस मुद्दे को तय कर दिया है। +1
टॉम राइट

2
ध्यान दें कि यदि आप इसे ठीक करने के बाद VS2017 को अपडेट करते हैं, तो आपको फिर से devenv.exe.config अपडेट करना पड़ सकता है
माइक पीटरसन

2
इस उत्तर ने मुझे दूसरी बार मदद की - VS2017 को अपडेट करने के बाद आपको इसे फिर से करने की आवश्यकता है जैसा कि @MikePeterson कहता है।
जेम्स मोंगर

35

मुझे ऐसा वर्कअराउंड मिला है जो अच्छे के लिए समस्या को हल करने के लिए लगता है, कम से कम मेरे पर्यावरण पर चल रहा है VS 2017 प्रोफेशनल 15.5.2 और एंटिटी फ्रेमवर्क 6.1.1।

मूल रूप से, डीएलएल (कुछ संबंधित लोगों के साथ) को जीएसी (ग्लोबल असेंबली कैश) में स्थापित करें और समस्या दूर हो जाएगी।

इन कदमों का अनुसरण करें:

  1. Visual Studio 2017 के सभी चल रहे इंस्टेंस को बंद करें

  2. Visual Studio 2017 डेवलपर कमांड प्रॉम्प्ट लॉन्च करें

  3. निम्नलिखित कमांड टाइप करें (अपने संस्करण के साथ व्यावसायिक बदलें, या तो एंटरप्राइज़ या समुदाय, या तदनुसार पथ समायोजित करें):

gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Framework.dll"

gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.dll"

gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Engine.dll"

gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Conversion.Core.dll"

gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Tasks.Core.dll"

gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Utilities.Core.dll"
  1. Visual Studio 2017 को पुनरारंभ करें

संक्षेप में, GAC (ज्यादातर मामलों में) को प्राथमिकता दी जाएगी जब .NET एक DLL लोड करने का प्रयास कर रहा है और FileNotFoundException दूर हो जाएगी क्योंकि आपका DLL अब GAC के माध्यम से हल हो जाएगा।

फिर से, यह मेरे लिए काम करता है और यह केवल एक समाधान है, यह मूल मुद्दे को हल नहीं करेगा लेकिन कम से कम मुझे हर समय वी.एस. को पुनरारंभ करने की आवश्यकता नहीं है जब ईएफ माइग्रेशन के साथ काम करने की कोशिश कर रहा है, और यह मेरे लिए काफी अच्छा है।


1
मेरे लिए भी काम किया। Visual Studio 2017 डेवलपर कमांड प्रॉम्प्ट C: \ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ Visual Studio 2017 \ Visual Studio उपकरण में है और इसे व्यवस्थापक के रूप में चलाया जाना चाहिए।
डेविड लेटरन्यू

2
FYI करें - यह तब समस्या पैदा कर सकता है जब Microsoft उत्पाद को अपग्रेड करता है और GAC प्रविष्टियाँ अमान्य हो जाती हैं (नया संस्करण, या पथ परिवर्तन .. समर्थक बनाम उद्यम, आदि)। नवीनतम 15.8.0 पर अपग्रेड पर एक समस्या। यदि आपकी परियोजनाएँ लोड नहीं होती हैं (इस समाधान का उपयोग करने के कारण), तो यहाँ देखें: developercommunity.visualstudio.com/content/problem/311136/…
बैरी

11

यह मेरे लिए काम करता है - 2020 में शुरू होने वाला एक गैर-समर्थन मुद्दा प्रतीत होता है।

में Azure Build Pipeline> NuGet tool installerकदम है, परिवर्तन Version of NuGet.exe to installएक नए संस्करण के लिए, की तरह 5.4.0Https://dist.nuget.org/tools.json पर संस्करणों की जाँच करें

मुद्दा गायब हो गया और अब सफलतापूर्वक निर्माण करता है।


उपयोग किए गए नगेट संस्करण को अपडेट करना भी मेरे लिए समस्या को ठीक करने का तरीका था।
NP83

7

मेरे लापता फ़ाइल या असेंबली संस्करण प्रश्न के साथ अलग है।

जब मैं अपने ASP.net प्रोजेक्ट को प्रकाशित करने की कोशिश करता हूं तो मुझे यह त्रुटि होती है

Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

मैंने Microsoft बिल्ड उपकरण 2015 को स्थापित करके समस्या हल कर दी है

मुझे लगता है कि मैं अपनी समस्या के कारण वीएस 2017 में वीएस 2015 के साथ बनाया गया प्रोजेक्ट प्रकाशित कर रहा हूं। आशा है कि दूसरों की भी यही समस्या हो सकती है।


इसने मेरे लिए एक ऑन-प्रीमियर TFS में सीआई बिल्ड को ठीक करने में मदद की। मेरे एक बिल्ड सर्वर में ये उपकरण नहीं थे और यह बहुत ही समान समस्या के साथ विफल रहा।
बुडहेड २००४

4

बस दृश्य स्टूडियो को फिर से शुरू करने के मामले में कार्य प्रबंधक / प्रक्रिया एक्सप्लोरर और कौशल VBCSCompiler.exe पर न जाएं

यहाँ छवि विवरण दर्ज करें

प्रोसेस एक्सप्लोरर का उपयोग करके सुझाव दें


1
मैं इस समाधान की कोशिश कर रहा हूं "बस दृश्य स्टूडियो को पुनरारंभ करने के मामले में कार्य प्रबंधक / प्रक्रिया एक्सप्लोरर और कौशल VBCSCompiler.exe पर न जाएं" और ठीक काम करें।
मोहम्मद जिहाद हेलाल


2

मेरे मामले में, कुछ (शायद एक NuGet- अद्यतन) ने web.config-File में एक असेंबली जोड़ दी:

<dependentAssembly>
    <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" />
</dependentAssembly>

उस dependAssemby-Entry को हटाने के बाद, मैं प्रोजेक्ट को फिर से प्रकाशित कर सकता था।


2

यह मेरे लिए काम किया: त्रुटि तब होती है जब मैं nuget पुनर्स्थापना कमांड निष्पादित करता हूं। नगेट संस्करण 4.6.2। मेरे पास इस समस्या को हल करने के दो तरीके हैं।

Nuget 4.8.2 और उच्चतर का उपयोग करें। gacutil / i "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ Microsoft.Build.Framework.dll


1

हमारे पास यह मुद्दा था, और यहाँ है कि हमें अपने मामले में क्या करना है:

समस्या यह थी कि हमारे पास एक डेटाबेस कमांड इंटरसेप्टर (IDbCommandInterceptor)कॉन्फ़िगर किया गया था जिसे कहा जाता है HttpRuntime.Cache["somekey"], और किसी कारण से माइग्रेशन कमांड इस वजह से चलने में विफल रहे। इस उदासीनता को दूर करने के बाद, सभी आदेश सही चले। शायदHttpRuntime बिल्ड फ्रेमवर्क डीएल को खोजने में सक्षम नहीं थे?

इसलिए माइग्रेशन कमांड विफल होने पर पूरे कॉलस्टैक की जांच करें कि क्या आपके पास भी ऐसी ही समस्या है।


बहुत दिलचस्प है, मेरे स्टैक ट्रेस में HttpContext.Current का उपयोग करते हुए एक कॉल शामिल है। इसे हटाकर मुद्दे को हटा दिया गया।
समय

0

मैं एक ही मुद्दे के साथ सामना किया है जब अद्यतन maccod / मोनो घटकों macOS पर।

समाधान मैक के लिए नवीनतम संस्करण के लिए विजुअल स्टूडियो को अपडेट करना है।

मुझे लगता है कि .NET कोर 3.0 पैकेज से नए MSBuild टूल का उपयोग करने में समस्या का कारण है जो नए XCode / मोनो संस्करण के साथ स्थापित है।


0

पहले से ही पोस्ट करने वालों के लिए धन्यवाद। मेरी स्थिति ऊपर के संयोजन से हल हुई थी। मेरे पास विज़ुअल स्टूडियो के कई संस्करण हैं: 2015, 2017, 2019। किसी समय MSBUILD का संस्करण 15.1 से 15.9 हो गया था, और मैंने C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe.config15.9 लाइब्रेरी को इंगित करने के लिए फ़ाइल को अपडेट करके इस समस्या को हल किया । यहाँ प्रविष्टियों में से एक का एक उदाहरण है:

<dependentAssembly>
      <assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
      <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.9.0.0"/>
      <codeBase version="15.9.0.0" href="..\..\MSBuild\15.0\Bin\Microsoft.Build.Utilities.Core.dll" />
</dependentAssembly>

2
लगता है आपका उदाहरण गायब हो गया है।
जैमर

0

विजुअल स्टूडियो 2019 सामुदायिक संस्करण का उपयोग करना। मैंने बहुत किस्मत के बिना अन्य समाधानों की कोशिश की, लेकिन मुझे NuGet कैश साफ़ करने के बाद समस्या हल हो गई। यहाँ छवि विवरण दर्ज करें


0

उपरोक्त सभी तरीकों की कोशिश करने के बाद और अधिक चलने वाला WCFऐप अभी भी मेरे लिए विफल रहा। त्रुटि: Could not load file or assembly 'Microsoft.Build.Framework, Version=15.1.0.0।।

ध्यान दें: वीएस, पीसी, हत्या प्रक्रियाओं को फिर से शुरू करने की कोशिश की गई, वी.एस. कैश, नगेट कैश, ओबेस, बिन, .वीएस, संकुल फ़ोल्डर की सफाई।

मेरे लिए जो काम किया गया है वह परियोजनाओं की *.csproj.userफाइल को हटा रहा है .. जाहिर है इसमें कुछ अप्रचलित कॉन्फ़िगरेशन था। खो 4 घंटे यह पता लगाने की कोशिश कर रहा है ..


0

मैंने एक पुनरारंभ किया, जिसके बाद मैंने पाया कि जो स्थानीय वेब सेवा मैं चला रहा हूं वह एक अन्य प्रक्रिया द्वारा अवरुद्ध हो गई थी जो उस बंदरगाह को ले गई थी। मैंने प्रक्रिया चलाने की जाँच की और TCPView का उपयोग करके इस प्रक्रिया को मार दिया और सभी को फिर से काम करना शुरू हो गया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.