आपको असेंबली 'netstandard, संस्करण = 2.0.0.0 का संदर्भ जोड़ना होगा


124

यह प्रोजेक्ट ASP.NET MVC वेब ऐप है। .NET फ्रेमवर्क 4.6.1 को लक्षित कर रहा है।

अचानक (कुछ नूगेट पैकेज अपग्रेड किए गए) मुझे रनटाइम के दौरान निम्न त्रुटि मिलने लगी:

CS0012: प्रकार 'System.Object' को एक असेंबली में परिभाषित किया गया है जिसे संदर्भित नहीं किया गया है। आपको असेंबली 'netstandard, संस्करण = 2.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = cc7b13ffcd2ddd51' का संदर्भ जोड़ना होगा।

मेरे मुख्य विचार में Index.cshtml, एक पंक्ति में जहां मैं उपयोग करता हूं@Html.ActionLink

मेरे पास .NET कोर SDK 2.0 और .NET फ्रेमवर्क 4.7.1 मेरी मशीन में स्थापित है, लेकिन मैं इसका संदर्भ शामिल नहीं करना चाहता। यह केवल .NET फ्रेमवर्क वेब ऐप है, यह विंडोज IIS पर होस्ट किया गया है जहां स्थापित फ्रेमवर्क 4.6.1 है, सर्वर में कोई नेट कोर स्थापित नहीं है।

तो यह एक संदर्भ जोड़ने के लिए क्यों कह रहा है netstandard? मैं इसे संदर्भित किए बिना कैसे ठीक कर सकता हूं netstandardलेकिन पूर्ण विंडोज .NET फ्रेमवर्क 4.6.1?

मैंने एक पिछली प्रतिबद्ध जाँच की है जो ठीक काम की है और मुझे अभी भी यह त्रुटि मिल रही है। इसलिए यह NuGet संकुल के उन्नयन से संबंधित नहीं है। मेरे स्थानीय देव मशीन पर कुछ होने लगता है।

यदि एक निर्देशिका के लिए एप्लिकेशन को प्रकाशित करें और इसे IIS के साथ चलाएं तो यह काम करता है।

.Csproj gist से लिंक करें

packages.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Antlr" version="3.5.0.2" targetFramework="net46" />
  <package id="BundleTransformer.Core" version="1.9.69" targetFramework="net46" />
  <package id="BundleTransformer.Handlebars" version="1.9.73" targetFramework="net46" />
  <package id="BundleTransformer.Less" version="1.9.69" targetFramework="net46" />
  <package id="BundleTransformer.Yui" version="1.9.52" targetFramework="net46" />
  <package id="Dapper" version="1.42" targetFramework="net46" />
  <package id="EcmaScript.Net" version="1.0.1.0" targetFramework="net46" />
  <package id="EntityFramework" version="6.0.0" targetFramework="net46" />
  <package id="Glimpse" version="1.8.6" targetFramework="net46" />
  <package id="Glimpse.AspNet" version="1.9.2" targetFramework="net46" />
  <package id="Glimpse.Mvc5" version="1.5.3" targetFramework="net46" />
  <package id="JavaScriptEngineSwitcher.Core" version="1.2.4" targetFramework="net46" />
  <package id="JavaScriptEngineSwitcher.V8" version="1.3.0" targetFramework="net46" />
  <package id="jQuery" version="2.1.3" targetFramework="net46" />
  <package id="jQuery.Validation" version="1.13.1" targetFramework="net46" />
  <package id="LowercaseDashedRoute" version="1.0.14" targetFramework="net46" />
  <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" />
  <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net46" />
  <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net46" />
  <package id="Microsoft.Owin" version="3.0.1" targetFramework="net46" />
  <package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net46" />
  <package id="Microsoft.SqlServer.Compact" version="4.0.8876.1" targetFramework="net46" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" />
  <package id="Moment.js" version="2.10.2" targetFramework="net46" />
  <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" />
  <package id="NWebsec" version="5.1.1" targetFramework="net46" />
  <package id="NWebsec.Core" version="2.1.0" targetFramework="net46" />
  <package id="NWebsec.Mvc" version="5.1.1" targetFramework="net46" />
  <package id="Owin" version="1.0" targetFramework="net46" />
  <package id="Respond" version="1.4.2" targetFramework="net46" />
  <package id="Sendgrid" version="6.3.0" targetFramework="net46" />
  <package id="SendGrid.SmtpApi" version="1.3.1" targetFramework="net46" />
  <package id="Serilog" version="2.6.0" targetFramework="net46" />
  <package id="Serilog.Enrichers.Environment" version="2.1.2" targetFramework="net46" />
  <package id="Serilog.Sinks.File" version="3.2.0" targetFramework="net46" />
  <package id="Serilog.Sinks.RollingFile" version="3.3.0" targetFramework="net46" />
  <package id="Serilog.Sinks.Sentry" version="2.1.4" targetFramework="net46" />
  <package id="SerilogWeb.Classic" version="2.1.17" targetFramework="net46" />
  <package id="SharpRaven" version="2.2.0" targetFramework="net46" />
  <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" />
  <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" />
  <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" />
  <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" />
  <package id="Twitter.Bootstrap.Less" version="3.3.4" targetFramework="net46" />
  <package id="WebActivatorEx" version="2.0.6" targetFramework="net46" />
  <package id="WebGrease" version="1.6.0" targetFramework="net46" />
  <package id="YUICompressor.NET" version="2.7.0.0" targetFramework="net46" />
</packages>

VS2017 का उपयोग करते हुए फ़ाइल सिस्टम में एप्लिकेशन प्रकाशित करते समय मुझे आउटपुट में निम्न चेतावनी मिलती है:

निम्न असेंबली में .NET फ्रेमवर्क के एक संस्करण पर निर्भरता है जो लक्ष्य से अधिक है और रनटाइम के दौरान सही ढंग से लोड नहीं हो सकता है: विफलता के कारण: netstandard, संस्करण = 2.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = cc7bbffcd2ddd51। निर्भरताएँ हैं: System.Transactions, संस्करण = 4.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = b77a5c561934e089। आपको या तो यह सुनिश्चित करना चाहिए कि आश्रित विधानसभा लक्ष्य ढांचे के लिए सही है, या सुनिश्चित करें कि आप जिस लक्ष्य ढांचे को संबोधित कर रहे हैं, वह आश्रित विधानसभा का है।

लेकिन मुझे कुछ भी नहीं मिला System.Transactions। मैं कैसे खोज सकता हूं कि वह क्या संदर्भित कर रहा है?


1
क्या NuGet संकुल आप उपयोग कर रहे हैं? क्या आप वाकई ASP.NET कोर एक का संदर्भ नहीं दे रहे हैं?
रिकार्डो पेरेस

@RicardoPeres VS2017 आपको एक फ्रेमवर्क को लक्षित करने वाले पैकेज को जोड़ने की अनुमति नहीं देता है जो एक परियोजना को लक्षित कर रहा है। मैंने सभी पैकेजों को अनइंस्टॉल और पुनः इंस्टॉल किया है, लेकिन त्रुटि समान है। मुझे समझ नहीं आता कि ऐसा क्यों होता है और रनटाइम के दौरान भी क्यों ...
इमेजरो

2
System.Data.SQLite.Coreपैकेज नेट कोर पर आधारित है (या .NET स्टैंडर्ड, मैं स्रोत या डॉक्स की तलाश में जाना नहीं था)। अपनी प्रोजेक्ट फ़ाइल के अंत में त्रुटि संदेश देखें।
McGuireV10

आपने क्यों कहा कि .NET .NET कोर आधारित है? मैं packages\System.Data.SQLite.Core.1.0.108.0\libनिर्देशिका को देख रहा हूं और इसमें .NET फ्रेमवर्क के प्रत्येक संस्करण के लिए एक फ़ोल्डर है, जिसमें 4.6 का उपयोग किया जा रहा है। मुझे नहीं लगता कि यहाँ यह मुद्दा है।
एम्पोरो

2
जब मुझे इस तरह के असहनीय मुद्दों का सामना करना पड़ता है, तो मैं क्या करता हूं 1) ध्यान से देखें कि प्रोजेक्ट के संदर्भ क्या हैं (या कहीं .csproj को बचाएं), 2) संकुल हटा दें। फाइल को हटा दें, सभी बाहरी संदर्भों को हटा दें (वैकल्पिक रूप से आप एक नया प्रोजेक्ट लिख सकते हैं। केवल मूल स्थिर फ़ाइलों, .cs, आदि के साथ खरोंच से), 3) वी.एस. नुगेट को लेगैगी पैकेज के बजाय पैकेज संदर्भ का उपयोग करने के लिए कॉन्फ़िगर करें ।config मोड docs.microsoft.com/en-us/nuget/reference/… और 4 सभी आवश्यक संदर्भों को वापस जोड़ें। ज्यादातर समय, यह काम करता है और मुझे कोई सुराग नहीं है कि यह पहले क्यों विफल रहा।
साइमन मौइपर

जवाबों:


181

मुझे लगता है कि समाधान GitHub पर यह मुद्दा हो सकता है :

इस तरह web.config में netstandard संदर्भ जोड़ने की कोशिश करें: "

<system.web>
  <compilation debug="true" targetFramework="4.7.1" >
    <assemblies>
      <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, 
            PublicKeyToken=cc7b13ffcd2ddd51"/>
    </assemblies>
  </compilation>
  <httpRuntime targetFramework="4.7.1" />

मुझे लगता है कि आप 4.6.1 का उपयोग कर रहे हैं, लेकिन .NET 4.7.1 का चुनाव महत्वपूर्ण है क्योंकि पुराने फ्रेमवर्क संस्करण .NET मानक 2.0 के साथ पूरी तरह से संगत नहीं हैं।

मुझे यह दर्दनाक अनुभव से पता है, जब मैंने .NET मानक पुस्तकालयों की शुरुआत की तो मेरे पास NUGET पैकेज और संदर्भ तोड़ने के साथ बहुत सारे मुद्दे थे। अन्य परिवर्तन जो आपको विचार करने की आवश्यकता है, वह फ़ाइलों के बजाय PackageReferences में अपग्रेड करना है package.config

इस गाइड को देखें और आप अपग्रेड की मदद के लिए एक टूल भी चाहते हैं । हालांकि इसे देर से VS 15.7 संस्करण की आवश्यकता होती है।


2
मुझे लगता है कि जो कोई भी यहां आता है, उसे न्यूटनसॉफ्ट के लेखक द्वारा ओपन सोर्स लिबास लिखने पर इस उत्कृष्ट मार्गदर्शन पर भी गौर करना चाहिए। JSON: docs.microsoft.com/en-us/dotnet/standard/library-guidance/… - विशेष रूप से "बचें" एक netstandard1.x "लक्ष्य, और उपयोग नेट 4.7.2 न्यूनतम असली संस्करण के रूप में है कि समर्थन करता है .netstandard 2.0 सहित
quango

जब v4.7.2 (नॉन कोर ऐप) में अपग्रेड किया गया तो वास्तव में क्या आवश्यक था और निम्नलिखित की तरह एक अपवाद मिला: "टाइप 'डेटटाइम' को एक असेंबली में परिभाषित किया गया है जिसे संदर्भित नहीं किया गया है। आपको असेंबली के 'netstandard, संस्करण' में एक संदर्भ जोड़ना होगा। = 2.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = cc7b13ffcd2ddd51 '।
टेड

क्या इसे csproj फ़ाइल के संदर्भों में भी जोड़ा जाना चाहिए, या यह केवल web.config में आवश्यक है?
पेट्रोसम

1
बहुत बढ़िया जवाब। धन्यवाद। मैं एक पुराने उपयोगिताओं पैकेज को अपग्रेड करने की प्रक्रिया में था और इसके स्थान पर एक नया मानक 2.0 थप्पड़ मारा। इस वेब ऐप में विशेष रूप से मुद्दे थे क्योंकि <add assembly="netstandardगायब था और साथ ही httpRuntime 4.7.1 नहीं था- यह उत्तर है! धन्यवाद !!
पायोटर कुला

हमारे मामले में हमारे पास 4.7.2 ASP.Net परियोजना द्वारा उपयोग में कई मानक 2.0 असेंबली थीं, लेकिन हमने System.Text.Json.Serialization नामस्थान से कुछ JsonConverter को मानक 2.0 परियोजनाओं में से एक में जोड़ा और यह त्रुटि हुई। इस समाधान से हमारी समस्या हल हो गई।
शेनह

35

मैन्युअल रूप से .csproj फ़ाइल को संपादित करना और नीचे दिए गए संदर्भ को जोड़ना मेरे लिए काम करता है।

<Reference Include="netstandard" />

फहद अलैशा का शुक्रिया जिन्होंने इसे यहां सुझाया ।


इसे प्रोजेक्ट फ़ाइल के अंदर कहाँ रखा जाना चाहिए? अंदर जो अन्य "टैग"?
यूलिसिस अल्वेस

1
@UlyssesAlves अन्य संदर्भ टैग के आगे कहीं
kamilk

@kamilk "कुछ अन्य के बगल में" बहुत सटीक नहीं है। ठीक है, मैंने कुछ अन्य परियोजनाओं को देखा, लेकिन दुर्भाग्य से यह मेरे लिए काम नहीं किया और मैंने इस समस्या को एक अन्य दृष्टिकोण से हमला करने का फैसला किया है, जिसमें परियोजना के .net संस्करण को बदलना शामिल नहीं है।
Ulysses Alves

1
यह एक मेरे लिए काम करता है, मुझे भी NetGandard.Library को NuGet के माध्यम से स्थापित करना था।
डेविड

छोटी चीजें जो "आपको मिलती हैं" ... महान जवाब।
बेंज सैंडर्स

15

मुझे इस धागे पर अन्य लोगों के उत्तरों का संयोजन करना था।

  1. NuGet के माध्यम से NetStandard.Library स्थापित करें
  2. मैन्युअल .csproj फ़ाइल को संपादित करना और संदर्भ जोड़ना। <Reference Include="netstandard" />
  3. प्रोजेक्ट का विस्तार करना -> वीएस सॉल्यूशन एक्सप्लोरर में संदर्भ, 'नेटस्टैंडर्ड' पर राइट क्लिक करना और प्रॉपर्टीज पेज दिखाना और "कॉपी लोकल" को सच करना।

3
'कॉपी लोकल' सेट करना मेरे लिए था।
FrenkyB

1
यह समाधान पूरी तरह से काम करता है, साथ ही प्रोजेक्ट डिबग मोड में संकलन पर निर्भर नहीं करता है।
डार्कहॉक

6

मैं इसमें पहले भी भाग चुका हूं और कई चीजों को आजमाकर मेरे लिए इसे तय कर चुका हूं:

  • मौजूद होने पर एक बिन फ़ोल्डर हटाएं
  • छिपे हुए .vs फ़ोल्डर को हटाएं
  • सुनिश्चित करें कि 4.6.1 लक्ष्यीकरण पैक स्थापित है
  • अंतिम खाई प्रयास: System.Runtime (राइट क्लिक प्रोजेक्ट -> add -> संदर्भ -> System.Runtime के आगे बॉक्स पर टिक करें) का संदर्भ जोड़ें, हालांकि मुझे लगता है कि मैंने हमेशा सोचा है कि उपरोक्त में से किसी एक ने इसे हल किया है। यह करने का।

इसके अलावा, अगर यह एक .net कोर ऐप है जो पूर्ण ढांचे पर चल रहा है, तो मैंने पाया है कि आपको अपनी परियोजना के मूल में एक Global.json फ़ाइल शामिल करनी होगी और उस SDK को इंगित करना होगा जिसे आप उस परियोजना के लिए उपयोग करना चाहते हैं:

{
  "sdk": {
    "version": "1.0.0-preview2-003121"
  }
}

2
पूरी कोशिश की, कोई किस्मत नहीं। यह एक .NET कोर परियोजना नहीं है जैसा कि मैंने कहा है। यह एक सामान्य .NET फ्रेमवर्क 4.6.1 है।
एमेज़ेरो

VS बंद करें, बिन हटाएं, हटाएं .vs - मैं खुश हूं।
रीड शिट्ट्स


5

4.6.1 फ्रेमवर्क से 4.7.2 में अपग्रेड करने के बाद हमें यह त्रुटि मिलने लगी:

"टाइप 'System.Object' को एक असेंबली में परिभाषित किया गया है जिसे संदर्भित नहीं किया गया है। आपको असेंबली 'netstandard, संस्करण = 2.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = cc7b13ffcddddd51' का संदर्भ जोड़ना होगा।" और अंततः समाधान ऊपर वर्णित "netstandard" विधानसभा संदर्भ जोड़ने के लिए था:

<compilation debug="true" targetFramework="4.7.1" >
    <assemblies>
      <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, 
            PublicKeyToken=cc7b13ffcd2ddd51"/>
    </assemblies>
  </compilation>

1
यह काम। एक और चीज़ जो काम करती है (इस बदलाव के बिना) <Reference Include="netstandard" />उसे csproj फ़ाइल में जोड़ना है , लेकिन ... केवल तभी काम करता है अगर आप भी CopyLocal को सही पर सेट करते हैं। इसका कोई मतलब नहीं है।
त्रिकोको

1

यद्यपि यह एक पुराना धागा है, आज भी मेरे पास यही मुद्दा था, पिछले सप्ताह मैंने कुछ NuGet पैकेजों को अपडेट किया और हालाँकि MVC वेबसाइट ने मेरे देव मशीन पर ओके पर काम किया जब मैं परीक्षण सर्वर पर प्रकाशित हुआ जब यह विफल हो गया।

मैंने कई पोस्ट पढ़ी लेकिन कोई काम नहीं किया। मैंने आखिरकार अपने स्थानीय बिन में DLL के परीक्षण सर्वर में उन लोगों की तुलना की और पाया कि netstandard.dll अपलोड नहीं किया गया था, एक बार वेबसाइट अपलोड करने के बाद ठीक काम किया गया था, यह सुनिश्चित नहीं किया गया था कि VS2017 वेब तैनाती ने DLL को प्रकाशित क्यों नहीं किया।

आपके लिए उपरोक्त किसी भी कार्य के लिए बस कुछ देखने की जरूरत नहीं है।


1

.NET कोर 1.1 से 2.1 अपग्रेड करते समय मैंने इसका अनुभव किया।

मैंने यहाँ उल्लिखित निर्देशों का पालन किया ।

.Csproj में निकालने <RuntimeFrameworkVersion>1.1.1</RuntimeFrameworkVersion>या <NetStandardImplicitPackageVersion>अनुभाग करने का प्रयास करें ।


1

4.6.1 से 4.7.2 तक माइग्रेट किए गए एप्लिकेशन को लागू करने के बाद हमें उत्पादन सर्वर पर यह त्रुटि मिलनी शुरू हो गई।

हमने देखा कि .NET फ्रेमवर्क 4.7.2 वहाँ स्थापित नहीं किया गया था। इस समस्या को हल करने के लिए हमने निम्नलिखित कदम उठाए:

  1. .NET फ्रेमवर्क 4.7.2 से स्थापित:

    https://support.microsoft.com/en-us/help/4054530/microsoft-net-framework-4-7-2-offline-installer-for-windows

  2. मशीन को फिर से चालू किया

  3. .NET फ्रेमवर्क संस्करण की पुष्टि की मदद से मैं .NET संस्करण कैसे खोजूं?

मशीन पर स्थापित .Net फ्रेमवर्क 4.7.2 संस्करण के साथ फिर से एप्लिकेशन को चलाना समस्या को हल करता है।


1

मैं एक ही समस्या का सामना कर रहा हूँ मैं सेटअप अब आवेदन कार्य ठीक निम्नलिखित है

1-

<compilation debug="true" targetFramework="4.7.1">
      <assemblies>
        <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, 
      PublicKeyToken=cc7b13ffcd2ddd51"/>
      </assemblies>
    </compilation>

2- जोड़ें

 **C:\Program Files (x86)\Microsoft Visual
Studio\2017\Professional\Common7\IDE\Extensions\Microsoft\ADL
 Tools\2.4.0000.0\ASALocalRun\netstandard.dll**

3-

Copy Above Path Dll to Application Bin Folder on web server


यह कहां प्रलेखित है? इस लाइन को web.config फ़ाइल में डालने के लिए हर कोई कैसे अनुमान लगाएगा? संयोग से, जो समान रूप से अच्छी तरह से काम करता है वह csproj में एक पंक्ति जोड़ रहा है जो "netstandard" का संदर्भ देता है, और CopyLocal को सही पर सेट करता है। फिर भी, यह कहीं भी संदर्भ संवाद में एक संभावित संदर्भ के रूप में सूचीबद्ध नहीं है, इसलिए इसे प्राप्त करने का एकमात्र तरीका इसे मैन्युअल रूप से जोड़ना है। यह पागल है। और मैं .NET 4.7.2 को लक्षित कर रहा हूं, जिसे .NET मानक के साथ पूरी तरह से संगत माना जाता है, फिर भी मुझे इसे काम करने के लिए इन अस्पष्ट चरणों को करना होगा।
त्रिनको

0

इनमें से किसी एक के साथ टूडू हो सकता है:

  1. एक नया एसडीके स्थापित करें।
  2. संदर्भ के लिए .csproj जांच में शामिल करें = "netstandard"
  3. दृश्य \ Web.config और Web.config में संकलन टैग में असेंबली संस्करणों की जाँच करें।

ठीक है, उम्मीद है कि हम लगभग वहाँ हैं। "मैंने NETStandard.Library.NETFramework के बजाय NETStandard.Library के संदर्भ को जोड़ा" इस पोस्ट की जाँच करें: github.com/dotnet/standard/issues/391
ivw

आमतौर पर System.Transactions आपके संदर्भ का हिस्सा नहीं है, इसे अपने संदर्भों में जोड़ने का प्रयास करें: यदि आप वेब साइट का उपयोग कर रहे हैं तो अपने वेब अनुप्रयोग का उपयोग कर रहे हैं या अपने प्रोजेक्ट पर राइट क्लिक करें। .NET संदर्भों में System.Transactions की खोज करें। आपको अपने संदर्भों में System.Transactions को ढूंढना चाहिए।
ivw

0

छवि विवरण यहां दर्ज करें नेटबॉडीहैंडल गुणों में ट्रू कॉपी कॉपी को सही पर सेट करें।

सॉल्यूशन एक्सप्लोरर खोलें और netstandard.dll पर राइट क्लिक करें। स्थानीय पर प्रतिलिपि बनाएँ पर सेट करें।


0

जब .NET .NET.6.1 लाइब्रेरी पर .NETStandard निर्भरता जोड़ने की कोशिश कर रहा था, और मोनो 4.6.2 (उबंटू 16.04 के साथ आने वाला संस्करण) के साथ लिनक्स में इसे संकलित करने की कोशिश में मैं इस समस्या का सामना कर रहा था।

मैंने आखिरकार आज इसे हल कर दिया; समाधान को इन दोनों चीजों को करने की आवश्यकता है:

  1. बदलें <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>करने के लिए <TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>.csproj फ़ाइल में।
  2. अपने मोनो को एक नए संस्करण में अपग्रेड करें। मेरा मानना ​​है कि 5.x को काम करना चाहिए, लेकिन यह सुनिश्चित करने के लिए, आप केवल Ubuntu 20.04 (जो कि लेखन के समय केवल पूर्वावलोकन में है) स्थापित कर सकते हैं, जिसमें मोनो 6.8.0.105 शामिल है।

0

आप अपने प्रोजेक्ट में अपने web.config को जोड़ सकते हैं।

जब आप इसे web.config प्रोजेक्ट में जोड़ते हैं तो यह काम नहीं करेगा क्योंकि यह MVC के साथ काम करता है।


0

मेरे मामले में मुझे पता चला कि समस्याग्रस्त नगेट 4.5.1 संस्करण में System.Memory था। जब संस्करण 4.5.3 में अद्यतन किया जाता है तो यह काम करता है


0

जिनके पास web.config फाइल नहीं है। आउटपुट वेब अनुप्रयोग के अलावा अन्य प्रकार। नीचे दिए गए कोड के साथ प्रोजेक्ट फ़ाइल (.csproj) को अपडेट करें।

अनुचित तरीके से .netframework जोड़ने या हटाने के कारण इसका कारण हो सकता है या यह अप्रत्याशित तरीके से टूट सकता है।

  <ItemGroup>
    <Reference Include="netstandard" />
  </ItemGroup>

उत्पादन का प्रकार

  • सांत्वना आवेदन
  • कक्षा पुस्तकालय

-5

यह समस्या आपके दृश्य स्टूडियो और विंडोज के स्थापित संस्करण पर आधारित है, आप निम्न चरणों का पालन कर सकते हैं: -

  1. कमांड विंडो पर जाएं
  2. निम्न आदेश द्वारा अपने पीसीएल को डाउनग्रेड किया

    Install-Package Xamarin.Forms -Version 2.5.1.527436
  3. अपने प्रोजेक्ट का पुनर्निर्माण करें।
  4. अब आप आवश्यक आउटपुट देख पाएंगे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.