विजुअल स्टूडियो 2017 - फाइल या असेंबली को लोड नहीं कर सका 'System.Runtime, संस्करण = 4.1.0.0' या इसकी एक निर्भरता


103

मैं Visual Studio 2017 का उपयोग कर रहा हूं और एक .Net मानक 1.5 पुस्तकालय बनाने और इसे .Net 4.6.2 nUnit परीक्षण परियोजना में उपयोग करने का प्रयास कर रहा हूं।

मुझे निम्नलिखित त्रुटि प्राप्त हो रही है...

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

मैंने निम्नलिखित कोशिश की है:

  1. प्रोजेक्ट संदर्भ के रूप में संदर्भ एसटीडी लाइब्रेरी। त्रुटि: मुझे पिछली त्रुटि देता है।
  2. मेरे Std पुस्तकालय और संदर्भ के लिए एक NuGet pkg बनाएँ। त्रुटि: प्रकार System.String है, System.String की अपेक्षा करता है। ऐसा इसलिए है क्योंकि System.Runtime प्रोजेक्ट द्वारा संदर्भित हो रहा है और इसमें सभी मानक प्रकारों की परिभाषाएँ हैं।
  3. संदर्भ NuGet pkg NetStandard.Library। त्रुटि: मुझे # के समान त्रुटि दें ("प्रकार System.String है, System.String की अपेक्षा है")। नोट: इससे पहले कि मैंने ऐसा किया, मैंने परियोजना से सभी NuGet पैकेजों को मंजूरी दे दी और फिर सिर्फ nUnit और NetStandard.Library पैकेज (जो 45 अन्य पैकेज स्थापित किए) को जोड़ा।

क्या यह बग है? क्या आसपास कोई काम है? किसी भी मदद की सराहना की है।

जवाबों:


91

मेरे पास एक ही समस्या थी और कोई सुझावित समाधान नहीं था जो मुझे मिला। इस मुद्दे के लिए मेरा समाधान था: App.config और package.config की जाँच करें कि क्या संस्करण मेल खाते हैं।

मूल रूप से मेरे app.config निहित:

<dependentAssembly>
  <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>

लेकिन संकुल .config निहित:

<package id="System.Runtime" version="4.3.0" targetFramework="net461" requireReinstallation="true" />

मैंने संकुल के लिए app.config प्रविष्टि को संशोधित किया। NewVersion के लिएconfig:

<dependentAssembly>
  <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.3.0" />
</dependentAssembly>

बदलाव के बाद, इस मुद्दे को हल किया गया था।


या बस अपने web.config का संदर्भ जोड़ें: stackoverflow.com/a/38603514/1145177
डग एस

7
मैंने नुगेट से "4.3.0" खींचा, लेकिन किसी कारण से वीएस ने जोर देकर कहा कि मैं "4.1.2.0" का संदर्भ देता हूं, बस एक अलग संस्करण संख्या के आसपास इसी तरह का काम मेरे लिए काम किया ...
डेविड रोजर्स

मुझे MSTest प्रोजेक्ट में @DavidRogers जैसी ही समस्या थी। App.config और package.config के बीच अंतर को समेकित करके समस्या का समाधान किया गया।
अक्टूबर

हाँ, एक गुच्छा धन्यवाद ! मेरे MSTest परीक्षणों का पता नहीं लगाने के लिए यह समाधान था [MSTest][Discovery] Failed to discover tests from assembly Reason:Could not load file or assembly 'System.Reflection, Version=4.1.1.0 etc
Dan M

समाधान ने मेरे लिए काम किया। HtmlAgilityPack NUGET को स्थापित करने के बाद समस्या शुरू हुई। और संकुल में गलत संस्करण जानकारी के कारण नहीं चलेगा। +1
रॉबर्टो

35

यह समस्या तब होती है जब आप .NET 4.x प्रोजेक्ट से .NET मानक प्रोजेक्ट को संदर्भित करते हैं: .NET मानक प्रोजेक्ट के नगेट पैकेज संदर्भों में से कोई भी निर्भरता के रूप में नहीं लाया जाता है।

इसे ठीक करने के लिए, आपको यह सुनिश्चित करने की आवश्यकता है कि आपकी .NET 4.x csproj फ़ाइल वर्तमान बिल्ड टूल (कम से कम 14) की ओर इशारा कर रही है:

<Project ToolsVersion="15.0">...

नीचे अब जरूरत नहीं होनी चाहिए, यह वीएस 15.3 के आसपास तय किया गया था:

VS2017 में एक ज्ञात बग था, विशेष रूप से नुगेट 4.0 में।

बग के आसपास काम करने के लिए, आपको अपने .NET 4.x प्रोजेक्ट के लिए .csproj फ़ाइल को खोलना होगा और इस स्निपेट को जोड़ना होगा:

<ItemGroup>
  <PackageReference Include="Legacy2CPSWorkaround" Version="1.0.0">
    <PrivateAssets>All</PrivateAssets>
  </PackageReference>
</ItemGroup>

NuGet 4.x अपने साथ "पैकेज संदर्भ" लाता है - कोई और अधिक पैकेज नहीं ।config - लेकिन पुरानी 4.x पाइपलाइन VS2017 के लॉन्च के समय पूरी तरह से अपडेट नहीं हुई थी। उपरोक्त स्निपेट निर्भरता से पैकेज संदर्भों को सही ढंग से शामिल करने के लिए बिल्ड सिस्टम को "जगाने" के लिए लगता है।


विजुअल स्टूडियो 17 का कौन सा अपडेट? क्या आप संस्करण निर्दिष्ट कर सकते हैं?
रोनक अग्रवाल

11
मुझे अभी भी 15.5.5 VS2017 में समस्या है। ऐसा लगता है कि अन्य कारण हैं।
सर्ज

प्रश्न: पैकेज संदर्भों का उपयोग करके आपका .NET 4.x प्रोजेक्ट है, या यह अभी भी पैकेजों का उपयोग कर रहा है। अभी भी? मैं सोच रहा था कि क्या यह मेरे लिए तय किया गया कारण है कि मुझे संकुल से छुटकारा मिल गया है ।config।
कोरी नेल्सन

2
यह ध्यान देने योग्य है कि विज़ुअल स्टूडियो 2017 संस्करण 15.7 और बाद में पैकेज से एक परियोजना को स्थानांतरित करने का समर्थन करता है। पैकेज प्रबंधन प्रारूप से पैकेज संदर्भ प्रारूप में। docs.microsoft.com/en-us/nuget/reference/…
शांत

आपके लिंक से @tranquiltarn: "माइग्रेशन वर्तमान में C ++ और ASP.NET प्रोजेक्ट्स के लिए उपलब्ध नहीं है।"
जेपी हेल्लेमन्स

34

मैं हाल ही में इस मुद्दे का सामना करता हूं और मैंने इस धागे और अन्य में वर्णित कई चीजों की कोशिश की। मैं के लिए पैकेज संदर्भ जोड़ा "System.Runtime"nuget पैकेज प्रबंधक द्वारा, में बाध्यकारी redicts तय app.config, और सुनिश्चित करें कि app.configऔर package.configविधानसभा के लिए एक ही संस्करण है। हालाँकि, समस्या बनी रही।

अंत में, मैंने <dependentAssembly>असेंबली के लिए टैग हटा दिया और समस्या गायब हो गई। तो, अपने में निम्नलिखित को हटाने का प्रयास करें app.config

<dependentAssembly>
    <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.1.0" />
</dependentAssembly>

संपादित करें: जब मैं .NET फ्रेमवर्क को 4.7.2 में अपडेट करता हूं, तो समस्या फिर से शुरू हो जाती है। मैंने उपरोक्त चाल की कोशिश की, लेकिन यह काम नहीं किया। कई घंटे बर्बाद करने के बाद, मैंने महसूस किया कि समस्या System.Linqapp.config में एक पुराने संदर्भ के कारण हो रही है। इसलिए, इस समस्या से छुटकारा पाने के लिए या तो सभी लिनक संदर्भों को हटा दें या अपडेट करें।


4
जब भी मैं ओपी द्वारा निर्दिष्ट मुद्दे पर दौड़ता हूं, मैं .config फ़ाइल में System.Runtime जानकारी हटा देता हूं और यह इसे हल करता है। मैं आपसे सहमत हूं कि यह एक संभावित वैध समाधान है। यह मेरे साथ तब होता है जब मैं नगेट से एक पैकेज जोड़ता हूं।
वालेस बी। मैकक्लेर

मेरे लिए काम किया। मुझे xunit System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.1.2.0अपनी परियोजनाओं को 4.7.2 में अपग्रेड करने के बाद एक त्रुटि मिली है
एंटोन क्राउगलोव

आपके उत्तर के आधार पर मैंने अपने नगेट पैकेजों की जाँच की और पाया कि मेरी परियोजनाओं के बीच 'Google.protobuf' की ज़रूरतें (समेकन), thnx
Osama_Almaani

28

मेरा विश्वास करो, मैं मजाक नहीं कर रहा हूं। अपने app.config से सभी System.Runtime निर्भरताएँ निकालें और यह काम करना शुरू कर देगा।


9
यह क्यों काम करेगा इसका एक बेहतर विवरण सहायक होगा।
डोर हाई आर्क

इस विधि के साथ समस्या यह है कि जब भी आप किसी नगेट पैकेज को अपडेट करते हैं या नया नगेट पैकेज जोड़ते हैं, तो यह फिर से जुड़ जाएगा।
14

16

मैं का हवाला कि त्रुटि का समाधान NetStandard.Library और निम्नलिखित app.config NUnit-परियोजना में फ़ाइल।

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.1.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

संपादित करें

की तुलना में कुछ भी अन्य हैं System.Runtime, System.Reflectionया System.Runtime.InteropServicesयाद आ रही है (उदाहरण के लिए System.Linq), तो बस एक नया जोड़ने dependentAssemblyनोड।

संपादित करें २

नए विज़ुअल स्टूडियो संस्करणों (2017 15.8 मुझे लगता है) में यह संभव है कि स्टूडियो ऐप.कॉन्फ़िग फ़ाइल बनाता है। प्रोजेक्ट-प्रॉपर्टीज़ - एप्लिकेशन में बस ऑटो-जनरेट बाइंडिंग रीडायरेक्ट चेकबॉक्स की जाँच करें । ऑटो-जनरेट बाइंडिंग रीडायरेक्ट

संपादित करें 3

ऑटो उत्पन्न बाइंडिंग पुनर्निर्देशन .NET क्लास लाइब्रेरी के साथ अच्छी तरह से काम नहीं करता है। निम्न पंक्तियों को csproj फ़ाइलों में जोड़ने से यह हल हो जाती है और Classlibary के लिए एक .config फ़ाइल उत्पन्न हो जाएगी।

<PropertyGroup>
  <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>

11
अजीब तरह से, मैंने System.Runtime के लिए सभी नोड्स को हटाकर मेरे लिए समस्या को ठीक कर दिया <dependentAssembly>..
मैट ब्रूअर्टन

@MattBrewerton ने पुष्टि की!
बार्ट डी बोके

13

मैं अपने को हटा कर यह तय app.configसाथ

<assemblyIdentity name="System.Runtime" ....> 

प्रविष्टियों।

app.config रिफैक्टरिंग के दौरान स्वचालित रूप से जोड़ा गया (लेकिन आवश्यक नहीं)


यह मेरे लिए काम किया! निश्चित रूप से यह प्रयास करें यदि आपके लिए अन्य सभी आइटम काम नहीं कर रहे हैं
bOkeifus

3

यह समस्या तब होती है जब आप .NET 4.x प्रोजेक्ट से .NET मानक प्रोजेक्ट को संदर्भित करते हैं: .NET मानक प्रोजेक्ट के नगेट पैकेज संदर्भों में से कोई भी निर्भरता के रूप में नहीं लाया जाता है।

मैंने System.Runtime 4.3और NETStandard.Library पैकेज को जोड़कर हल किया और महत्वपूर्ण !! मैं System.Runtime.dll संस्करण को देखने के लिए रिफलेक्टर टूल का उपयोग करता हूं, यह 4.1.1.1नहीं है 4.3और फिर .config में एक बाइंडिंग अप्रत्यक्ष जोड़ें।

<dependentAssembly>
    <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="4.1.1.1" />
</dependentAssembly>

3

मुझे बहुत देर हो चुकी है, मुझे पता है, कैसे कोई जवाब नहीं है। मुझे इसका जवाब दूसरी वेबसाइट से मिला। जब मैंने System.Runtime असेंबली निर्भरता को हटा दिया, तो मैंने समस्या को ठीक कर दिया। मैंने इसे डिलीट कर दिया।

<dependentAssembly> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/> </dependentAssembly>

सादर


2

मैंने इसके साथ एक मुद्दा NUnit 2.6.4 परियोजना डॉटनेट फ्रेमवर्क 4.6.2 को लक्षित किया था। मैं उस System.Runtime FileNotFoundत्रुटि में भाग गया जिसका उपयोग करके Humanizer का उपयोग करने की कोशिश की जा रही है ।

मैंने अपनी इकाई परीक्षण परियोजना में NetStandard.Library को स्थापित करके अपनी त्रुटि को ठीक किया।


2

हमें वह मिल गया है AutoGenerateBindingRedirects इस समस्या का कारण हो सकता है।

देखा गया: एक ही परियोजना लक्ष्यीकरण net45और netstandard1.5एक मशीन पर सफलतापूर्वक बनाया गया था और दूसरे पर निर्माण करने में विफल रहा। मशीनों में स्थापित फ्रेमवर्क के विभिन्न संस्करण थे (4.6.1 - सफलता और 4.7.1 - विफलता)। 4.7.1 को पहली मशीन पर फ्रेमवर्क अपग्रेड करने के बाद बिल्ड भी विफल हो गया।

Error Message:
 System.IO.FileNotFoundException : Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
  ----> System.IO.FileNotFoundException : Could not load file or assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Auto binding redirectsकी एक विशेषता है .net 4.5.1। जब भी नगेट यह पता लगाता है कि परियोजना एक ही विधानसभा के विभिन्न संस्करणों को संचरित कर रही है, तो यह स्वचालित रूप से सभी निर्देशिकाओं को उच्चतम आवश्यक संस्करण पर पुनर्निर्देशित करते हुए आउटपुट निर्देशिका में कॉन्फ़िगर फ़ाइल उत्पन्न करेगा।

हमारे मामले में यह के सभी संस्करणों rebinding गया था System.Runtimeकरने के लिए Version=4.1.0.0.net 4.7.1जहाजों के साथ ए4.3.0.0रनटाइम के संस्करण के । इसलिए रीडायरेक्ट बाइंडिंग एक ऐसे संस्करण की मैपिंग कर रहा था जो फ्रेमवर्क के समकालीन संस्करण में उपलब्ध नहीं था।

समस्या 4.5 लक्ष्य के लिए ऑटो बाइंडिंग पुनर्निर्देश को अक्षम करने और केवल .net कोर के लिए इसे छोड़ने के साथ तय की गई थी।

<PropertyGroup Condition="'$(TargetFramework)' == 'net45'">
  <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
</PropertyGroup>

2

इस समस्या के कई कारण हैं ... मेरे मामले में समस्या यह थी कि मेरे web.config में एक टैग था जो System.Runtime विधानसभा को जोड़ रहा था:

<assemblies>
    <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>

लेकिन एक पैकेज ने भी अन्य संस्करण के साथ निर्भरता के रूप में एक ही विधानसभा को जोड़ा:

<package id="System.Runtime" version="4.3.0" targetFramework="net47" />

मेरी web.config से "असेंबली असेंबली" टैग को हटाने से समस्या हल हो गई।


2

जब पैकेज के बीच संस्करण विरोध होता है तो समस्या उत्पन्न होती है। app.config और app.config। App.config में आपके पास असेंबली बाइंडिंग रीडायरेक्ट स्वचालित रूप से "AutoGenerateBindingRedirects" नामक चीज़ द्वारा उत्पन्न होता है। हर बार जब आप नगेट पैकेज डाउनलोड करते हैं, तो इसे संकुल में नई प्रविष्टि बनाने के लिए अतिरिक्त सक्षम किया जाता है ।config, इस बाइंडिंग रीडायरेक्ट जानकारी को app.config में जोड़ें, इसका उद्देश्य क्या बताया गया है: असेंबली बाइंडिंग रिडायरेक्ट: कैसे और क्यों?

वहाँ आप पढ़ सकते हैं जो उपयोगकर्ता @Evk ने लिखा है:

बाध्यकारी पुनर्निर्देशन की आवश्यकता क्यों है? मान लीजिए कि आपके पास एप्लिकेशन A है जो लाइब्रेरी B को संदर्भित करता है, और संस्करण 1.1.2.5 के लाइब्रेरी C को भी। लाइब्रेरी बी बदले में लाइब्रेरी सी का भी संदर्भ देता है, लेकिन संस्करण 1.1.1.0 का। अब हमारे पास एक संघर्ष है, क्योंकि आप रनटाइम पर एक ही असेंबली के विभिन्न संस्करणों को लोड नहीं कर सकते हैं। इस विरोध को हल करने के लिए आप आमतौर पर नए संस्करण में बाइंडिंग पुनर्निर्देशन का उपयोग कर सकते हैं

तो, त्वरित क्लिक करें: app.config में सभी प्रविष्टियों को हटा दें।

मेरे मामले में ऐसा करने से ही उस कार्यक्रम ने काम करना शुरू कर दिया था, लेकिन यह केवल तभी काम करेगा जब आपके पास रनटाइम के दौरान एक ही असेंबली का कोई संस्करण विरोध न हो।

यदि आपके पास इस तरह के संघर्ष हैं, तो आपको इन वर्जन नंबरों को ऐप में ठीक करना चाहिए। असेंबलियों के वास्तव में इस्तेमाल किए गए संस्करणों से मिलान करने के लिए कॉन्फ़िगर करें, लेकिन मैनुअल प्रक्रिया दर्दनाक है, इसलिए मैं पैकेज मैनेजर कंसोल को खोलकर और फिर से टाइप करके पैकेज रीइंफोर्समेंट को ऑटो-जेनरेट करने का सुझाव देता हूं। Update-Package -reinstall


1

मैंने अपनी .NET 4.6.1 वेब साइट के साथ इस स्थिति को कई बार समाप्त किया। जब मैंने एक अलग .NET कोर प्रोजेक्ट के लिए एक संदर्भ जोड़ा तो मैंने हर बार समस्या खड़ी की। निर्माण करने पर, विजुअल स्टूडियो ने मुझे सही ढंग से सचेत किया कि ऐसे क्रॉस-फ्रेमवर्क संदर्भ अमान्य हैं, और मैंने प्रोजेक्ट संदर्भ को जल्दी से हटा दिया। परियोजना उसके बाद ठीक बनी, लेकिन वेब साइट तक पहुँचने के दौरान System.Runtime त्रुटि दिखाई दी और दूर जाने से इनकार कर दिया।

हर बार फिक्स लंगड़ा था, लेकिन प्रभावी था: मैंने प्रोजेक्ट डायरेक्टरी को हटा दिया और स्रोत नियंत्रण से इसे डाउनलोड कर दिया। भले ही पहले और बाद में कोई अंतर नहीं था, फिर भी मैं इस परियोजना का निर्माण करने में सक्षम था और बिना किसी शिकायत के पेज को एक्सेस कर सकता था।


1

Nuget के माध्यम से MsTest V2 को जोड़ने के बाद एक यूनिट टेस्ट प्रोजेक्ट में अभी इस में भाग गया। App.config (इतनी प्रभावी रूप से इसे हटाने) का नाम बदलकर मेरे लिए चाल चली।

उपरोक्त सभी पोस्टों को पढ़कर, मुझे अब भी यकीन नहीं हो रहा है कि, क्षमा करें!


1

मैंने Nuget पैकेज को हटाकर System.Runtimeऔर फिर इसे पुनर्स्थापित करके समस्या को ठीक किया


1

App.config या web.config में जोड़ें

<dependentAssembly>
    <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>

1

मेरे पास एक ही समस्या के साथ एक परियोजना थी, मैंने इसे 2.2 से 2.0 तक के बदलाव डॉटनेट कोर संस्करण के साथ हल किया, यदि आपकी समस्या बनी हुई है, तो इस समाधान का प्रयास करें


1

यूनिट परीक्षण चलाने से पहले, app.config फ़ाइल से रनटाइम टैग हटा दें। समस्या का समाधान होगा।


0

मुझे वीएस 2017 15.45 में भी इसी तरह की समस्या थी - मैंने पाया कि जब मैंने जाँच की थी कि भले ही प्रोजेक्ट संकलित हो गया हो और चला गया हो तो यह एक System.IO.FileNotFoundException के साथ System.Runtime के संबंध में आया जब मैंने TPL डेटा ऑब्जेक्ट्स तक पहुँचने का प्रयास किया।

जब मैंने समाधान में परियोजनाओं की जांच की, तो उनमें से एक (शीर्ष एक) सिस्टम को याद कर रहा था। अंतर्निहित परियोजनाओं द्वारा उपयोग किया गया पैकेज। एक बार जब मैंने इसे Nuget से स्थापित किया तो यह सब सही ढंग से काम कर रहा था।


0

मैंने यहां सभी समाधानों की कोशिश की, लेकिन कोई फायदा नहीं हुआ। आखिरकार, मैंने नई csproj फ़ाइल खोलकर इसे हल कर दिया और मैन्युअल रूप से निम्न अनुभाग जोड़ा:

<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
</Reference>

0

मैं ASP.Net CORE 2.1 का उपयोग कर रहा हूं और मुझे यह त्रुटि तब हुई जब मैं एक बड़े रेपो में लगभग 40 की सूची से एक .csproj का चयन करके भाग गया। जब मैंने व्यक्तिगत रूप से csproj फ़ाइल खोली, तो त्रुटि हल हो गई। जब csproj खोला गया था, तो प्रोग्राम को कैसे लॉन्च किया गया था, इसके साथ कुछ अलग था।


0

मैं .NET 4.7.2 => .NET 4.5.2 से स्विच करके इस समस्या को हल करता हूं और फिर 472 पर वापस आ जाता हूं। इसलिए कुछ मामलों में यह त्रुटि इसलिए होती है क्योंकि पैकेज प्रबंधक असमर्थता समाधान पर निर्भर करता है


0

यदि यह पहले से काम कर रहा है, तो एक App.config परिवर्तन होना चाहिए। पूर्ववत करें App.config ने मेरे लिए काम किया।


0

मैं भी इस त्रुटि से गुज़रा हूँ और साझा करता हूँ कि मैं इससे कैसे छुटकारा पाया।

मेरे मामले में नीचे पंक्ति webapi परियोजना के web.config में मौजूद थी, लेकिन पैकेज.config फ़ाइल में पैकेज संदर्भ नहीं था।

Webapi परियोजना में Web.config में कोड

<dependentAssembly>
    <assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.3.0" />
</dependentAssembly>

कोड I पैकेज में जोड़ा गया। वेब एपि फाइल में तत्व के बंद होने से पहले फाइल करें।

<package id="System.Runtime" version="4.3.0" targetFramework="net461" />

एक और समाधान मेरे मामले में काम आया:

यदि आप किसी अन्य कंप्यूटर सिस्टम में प्रोजेक्ट की नकल करते हैं तो एक और निश्चित शॉर्ट काम हो सकता है जिसमें कुछ अलग पैकेज वर्जन हो सकते हैं जिन्हें आप वेबसाइट / वेबापी पर गलती से दिए गए वर्जन में बदलने पर असेंबली वर्जन बदलने का प्रयास कर सकते हैं। इस मामले में जैसा कि प्रश्न में दिया गया संस्करण आवश्यक है '4.1.0.0' इसलिए बस वर्तमान संस्करण को वेब में बदलने का प्रयास करें। नीचे दिए गए संस्करण में त्रुटि के रूप में दिखाया गया संस्करण

त्रुटि:

Could not load file or assembly 'System.Runtime, Version=4.1.0.0' or one of its dependencies

संस्करण चंगे


0

मुझे यह त्रुटि तब हुई जब एक एज़्योर फंक्शन का निर्माण किया गया (एक कतार ट्रिगर के साथ, क्या इससे कोई फर्क पड़ेगा)

इस मामले में मुद्दा यह था क्योंकि AzureFunctionsVersionv3 के बजाय v2 पर सेट किया गया था। VS2019 के माध्यम से इसे अपडेट करने के लिए, प्रोजेक्ट को अनलोड करें फिर csproj फ़ाइल को संपादित करें। PropertyGroupनोड के भीतर , निम्नलिखित जोड़ें / संपादित करें:

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