आपकी परियोजना ".NETFramework, संस्करण = v4.5" रूपरेखा को संदर्भित नहीं कर रही है।


91

मैं वीएस 2015 का उपयोग कर रहा हूं।

आपकी परियोजना ".NETFramework, संस्करण = 4.5" ढांचे को संदर्भित नहीं कर रही है। अपने प्रोजेक्ट के "फ्रेमवर्क" खंड में ".NETFramework, संस्करण = 4.5" का संदर्भ जोड़ें। Json, और फिर NuGet को पुनर्स्थापित करें।

मुझे अपने MVC लेयर में जोड़ने के तुरंत बाद अपने डेटा एक्सेस और बिजनेस लॉजिक लेयर्स पर यह त्रुटि मिल रही है। तब तक चीजें ठीक हो रही थीं, लेकिन मुझे नहीं पता कि इस त्रुटि के कारण क्या हुआ। यहाँ मेरी परियोजना है। Json:

{
  "version": "1.0.0-*",
  "description": "foo bar Class Library",
  "authors": [ "foo bar" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "frameworks": {
    "net451": { },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  }
}

यहाँ मैंने क्या कोशिश की है:

  1. "Net4515.4" को "net451" (और इसे हटाने) के साथ प्रतिस्थापित करना जैसा कि इस उत्तर में पाया गया है ।

परिणाम एक ही त्रुटि है।

  1. "Dotnet5.4" को "net45" से बदलना और "net451" को छोड़ना। यह एक नई त्रुटि का परिणाम है:

आपके प्रोजेक्ट.जॉन में एक रनटाइम सेक्शन नहीं है। आपको अपने प्रोजेक्ट में '' रनटाइम '': {"जीत": {}} को जोड़ना चाहिए। Json और फिर नूगेट को फिर से चलाना।

मैंने इस त्रुटि का सुझाव दिया और जोड़ने का प्रयास किया

"runtimes": {
    "win":  {}
  },

इससे मुझे यह त्रुटि मिली, जिसे मैं अतीत में नहीं ले जा सकता:

आपका प्रोजेक्ट.जॉन लक्षित रनटाइम के रूप में 'जीत' को सूचीबद्ध नहीं करता है। आपको अपने प्रोजेक्ट में अपने "रनटाइम्स" खंड में "जीत": {} को जोड़ना चाहिए। Json, और फिर NuGet को फिर से चलाना।

मैंने पहले ही "जीत" जोड़ दिया है, और यह एक लाल हेरिंग की तरह लग रहा है। क्या मैं इस परियोजना को सीधे बदल रहा हूँ। सीधे तौर पर, क्या NuGet इसे संभाल नहीं रहा है?


पहले भाग के लिए अपनी परियोजना सेटिंग्स पर जाएँ और लक्ष्य फ्रेमवर्क को 4.5 पर सेट करें
हिरबोड बेहनाम

यह पहले से ही निर्धारित है।
एस लवलैंड ईसीवाई

1
@ S.LovelandECY क्या आपको यह हल मिला? मुझे वही समस्या हो रही है कि क्या मैं 4.5.1, 4.5.2 या 4.6 का उपयोग करता हूं - मेरी सभी परियोजनाएं निश्चित रूप से सभी एक ही फ्रेमवर्क संस्करण का उपयोग कर रही हैं।
थियरी

@ एस.ल्वेलैंडक्वाय आप इसके और सबसे अधिक मतों के जवाब के बीच असमानता को देखते हुए स्वीकार किए गए उत्तर को बदलने पर विचार कर सकते हैं
RJFalconer

जवाबों:


10

मैं वास्तव में सिर्फ समस्या का पता लगा रहा हूं। मैंने Restore Nuget Packagesसमाधान स्तर पर क्लिक करना समाप्त कर दिया और मैं अपनी PCLफ़ाइल संकलित करने में सफल रहा , और फिर मेरे बाकी समाधान।

उम्मीद है की यह मदद करेगा।


1
यह उत्तर वही है जो मेरे लिए प्रासंगिक था।
कोवैक

186

मेरे पास भी यही समस्या थी, और मैंने न केवल सामग्री binऔर objफ़ोल्डरों की सामग्री को हटाने के लिए , बल्कि .vsसमाधान के लिए निर्देशिका भी समाप्त कर दी।


1
.vs मेरे लिए समस्या का कारण बन रहा था
लुकास

7
यह मेरे लिए समाधान था!
रिकी

9
.vs मेरे लिए आवश्यक नहीं था। धन्यवाद!
geynske006

2
मुझे ठीक से धन्यवाद देने का कोई विचार नहीं है। मैं एक घंटे के सबसे अधिक भाग के लिए अपना सिर खुजला रहा हूं ताकि यह पता चल सके। सभी 3 को हटा दिया और एक आकर्षण की तरह काम कर रहा है। +1
tfrascaroli

2
मुझे संदेह है कि यह समस्या मेरे स्थानीय विकास बॉक्स पर GitHub शाखाओं को स्विच करने के कारण हुई है। यही है, मैं एक शाखा में काम करता हूं और संकलन कई फाइलें बनाता है जो रिपॉजिटरी का हिस्सा नहीं हैं। फिर मैं एक अलग शाखा की जांच करता हूं, और ये गैर-रिपॉजिटरी फाइलें अभी भी जगह में हैं। किसी तरह वे नई जाँच की गई फ़ाइलों के साथ संघर्ष करते हैं।
फोनियास अगेलियस

127

मैं एक ही समस्या थी - यह अभी भी Visual Studio 2017.3 का उपयोग करके होता है, जो प्रोजेक्ट के बजाय .csproj फ़ाइलों का उपयोग करता है। json। दिलचस्प है, त्रुटि संदेश में अभी भी "प्रोजेक्ट.जॉन" पाठ शामिल है।

ऐसा प्रतीत होता है कि इस समस्या का कारण obj\project.assets.jsonपिछले बिल्ड से एक लॉक फ़ाइल या फ़ाइल (वीएस के आपके संस्करण पर निर्भर करता है) है, जिसे एक साफ के दौरान हटाया नहीं गया है, जैसा कि यहां वर्णित है

मैन्युअल रूप से /objनिर्देशिका को हटाना एक त्वरित समाधान है।

यदि आपके पास "नई" परियोजना है (उदाहरण वी.एस. 2017 में बनाई गई .NET कोर या नेटस्टैंडर्ड परियोजना) और उसी निर्देशिका में एक "पुरानी" परियोजना (जैसे वीएस 2015 में बनाई गई .NET 4.6 परियोजना), ऐसा लगता है कि वे लगातार लड़ेंगे वे दोनों ./objअलग-अलग तरीकों से दिर का उपयोग करते हैं। अधिक जानकारी यहाँ।

एमएसबिल्ट वर्कअराउंड आपके प्रोजेक्ट में से एक को एक अलग objडायर का उपयोग करने के लिए है । मैंने इसे अपने "पुराने" csproj में जोड़ा:

<PropertyGroup>
  <!-- Needed due to old project and new project in same directory: https://github.com/NuGet/Home/issues/5126 -->
  <BaseIntermediateOutputPath>obj_netfx\</BaseIntermediateOutputPath>
</PropertyGroup>

4
यह समाधान वीएस 2017 के साथ अच्छी तरह से काम करता है, आपने मुझे समय पर बचाया।
मेकेनिकल कोड

2
प्रतिभाशाली। साथ ही महान व्याख्या।
मिक बायरन

1
मुझे अपना धन्यवाद जोड़ने दें। सभी अप्रिय "obj" फ़ोल्डरों को हटाने से मेरी समस्या भी हल हो गई।
स्टुअर्ट

2
भगवान आपका भला करे! मैं सोच रहा था कि खूनी परियोजना कहाँ है। json फ़ाइल। हटाना / obj किया
विष्णु रथ

1
अभी भी एक समस्या वी.एस. 2019 में। समाधान के लिए धन्यवाद!
user2363676

27

मैंने पाया कि एक दुष्ट प्रोजेक्ट .lock.json मेरे लिए इस मुद्दे का कारण बन रहा था। एक बार जब मैंने फ़ाइल को हटा दिया, तो समस्या दूर हो गई।

यहाँ project.lock.json पर कुछ प्रलेखन है।

कुछ और सलाह यह सुनिश्चित करने के लिए होगी कि प्रोजेक्ट .lock.json को आपकी git अनदेखा फ़ाइल में अनदेखा कर दिया जाए, और एक पूर्ण git को साफ़ करने का प्रयास किया जाए। सुनिश्चित करें कि आप इससे पहले कि आप एक Git साफ के निहितार्थ को समझते हैं।


2

मैक Mac.४ के लिए विज़ुअल स्टूडियो (१०३३ का निर्माण) के अद्यतन के बाद मेरा भी यही मुद्दा था:

Error: Your project is not referencing the "MonoAndroid,Version=v7.1" framework. Add a reference to "MonoAndroid,Version=v7.1" in the "frameworks" section of your project.json, and then re-run NuGet restore.

मेरे पास कोई भी json प्रोजेक्ट फाइल नहीं है। इसमें युक्तियों ने भी मदद नहीं की, इसलिए मुझे अपने लक्ष्य एसडीके (नूगाट 7.1) के अलावा सबसे कठिन एंड्रॉइड एसडीके (ओरेओ 8.1) स्थापित करना पड़ा।

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


0

मैं एक ही मुद्दा है, लेकिन मैं vs2017-->tools-->options-->Nugetpacakge manager--->updatedउचित पैकेज url पर उचित डला पैकेज संसाधन जोड़कर हल किया है ।

छवि के नीचे देखें

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

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