2017-03-13 14 views
20

मैं विजुअल स्टूडियो 2017 का उपयोग कर रहा हूं और नेट नेट 1.5 लाइब्रेरी बनाने और इसे उपयोग करने की कोशिश कर रहा हूं एक नेट 4.6.2 nnnit परीक्षण परियोजना।विजुअल स्टूडियो 2017 - फ़ाइल या असेंबली 'सिस्टम लोड नहीं किया जा सका' सिस्टम। रनटाइम, संस्करण = 4.1.0.0 'या इसकी निर्भरताओं में से एक

मैं निम्न त्रुटि हो रही है ...

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.

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

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

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

उत्तर

14

यह VS2017 में known bug है, खासकर NuGet 4.0 में।

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

NuGet 4.x इसके साथ लाता है ":

बग हल करने के लिए, आप अपने नेट 4.x .csproj प्रोजेक्ट के लिए फ़ाइल को खोलने और इस स्निपेट जोड़ने की आवश्यकता होगी पैकेज संदर्भ "- कोई और पैकेज.config नहीं। दुर्भाग्यवश यह केवल .NET कोर और .NET मानक परियोजनाओं में समर्थित है।

क्या हुआ है कि जब आप .NET 4.x प्रोजेक्ट से .NET मानक प्रोजेक्ट का संदर्भ देते हैं, तो .NET मानक प्रोजेक्ट के पैकेज संदर्भों में से कोई भी निर्भरता के रूप में लाया नहीं जाता है। उपरोक्त स्निपेट बिल्ड सिस्टम को सही तरीके से शामिल करने के लिए "जागृत" लगता है।

संपादित करें: ऐसा लगता है कि यह 15.3 अपडेट में हल किया गया है। इस कामकाज की अब आवश्यकता नहीं होनी चाहिए

+0

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

+2

मुझे अभी भी 15.5.5 वीएस2017 में समस्या है। ऐसा लगता है कि अन्य कारण भी हैं। – SerG

0

मुझे एनयूएनआईटी 2.6.4 परियोजना लक्ष्यीकरण डॉटनेट फ्रेमवर्क 4.6.2 में इसके साथ कोई समस्या थी। मैं उस Humanizer का उपयोग करने की कोशिश में त्रुटि में भाग गया।

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

4

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

<?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 नोड जोड़ें।

+0

अजीब बात यह है कि मैंने सिस्टम के लिए _removing_ सभी '' नोड्स द्वारा मेरे लिए समस्या तय की है। रनटाइम .. –

0

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

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

0

मुझे वीएस 2017 15.45 में एक ही समस्या थी - मैंने पाया कि जब मैंने परियोजना को संकलित किया और चलाया तो यह सिस्टम के साथ आया। आईआई.फाइल नॉटफाउंड अपवाद प्रणाली के संबंध में। रनटाइम जब मैंने टीपीएल डेटाफ्लो तक पहुंचने का प्रयास किया वस्तुओं।

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

0

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

Originally my app.config contained: 

    <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> 

But the packages.config contained: 

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

I modified the app.config entry to match packages.config for the newVersion: 

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

परिवर्तन के बाद, समस्या हल हो गई।

संबंधित मुद्दे

 संबंधित मुद्दे