यह प्रोजेक्ट 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 के साथ चलाएं तो यह काम करता है।
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
। मैं कैसे खोज सकता हूं कि वह क्या संदर्भित कर रहा है?
System.Data.SQLite.Core
पैकेज नेट कोर पर आधारित है (या .NET स्टैंडर्ड, मैं स्रोत या डॉक्स की तलाश में जाना नहीं था)। अपनी प्रोजेक्ट फ़ाइल के अंत में त्रुटि संदेश देखें।
packages\System.Data.SQLite.Core.1.0.108.0\lib
निर्देशिका को देख रहा हूं और इसमें .NET फ्रेमवर्क के प्रत्येक संस्करण के लिए एक फ़ोल्डर है, जिसमें 4.6 का उपयोग किया जा रहा है। मुझे नहीं लगता कि यहाँ यह मुद्दा है।