2017-07-01 8 views
19

मैं के साथ सी # .NETCore उपयोग कर रहा हूँ चेतावनी को बहाल करने और जब मैं dotnet restore किया यह निम्न त्रुटि दिया:डॉटनैट NU1701

PS C:\workspace\Arbitrator> dotnet restore

C:\workspace\Arbitrator\Arbitrator.csproj : warning NU1701: Package 'PusherClient 0.5.0' was restored using '.NETFramework,Version=v4.6.1' instead the project target framework '.NETCoreApp,Version=v2.0'. This may cause compatibility problems. C:\workspace\Arbitrator\Arbitrator.csproj : warning NU1701: Package 'WebSocket4Net 0.14.1' was restored using '.NETFramework,Version=v4.6.1' instead the project target framework '.NETCoreApp,Version=v2.0'. This may cause compatibility problems.

समस्या में इस पैकेज PusherClient है, मैं सिर्फ डला दस्तावेजों आयात करने के लिए पीछा किया, कैसे क्या मैं इस चेतावनी को ठीक कर सकता हूं?

उत्तर

16

आपको पुशर क्लाइंट तक .NET कोर के लिए अपग्रेड करने की आवश्यकता नहीं है।

.NET कोर से .NET Framework 4.6.1 (और नीचे) संदर्भित करना एक new feature है .NET कोर/मानक 2.0 पूर्वावलोकन 2/वीएस 2017 पूर्वावलोकन 15.3 के बाद उपलब्ध है और एमएस के अनुसार इसे एक सुविधा के रूप में माना जा सकता है जो आपको .NET Framework कोड को .NET मानक या .NET कोर पर समय पर माइग्रेट करने में मदद करता है।

  1. आप इस चेतावनी को किसी विशिष्ट पैकेज या सभी पैकेजों के लिए दबा सकते हैं: see scenarios 2 and 3 in NuGet wiki। हालांकि, यह संभव है कि जब आप एक एपीआई (जैसे WPF से कुछ) कहते हैं तो आप रन-टाइम में एप्लिकेशन विफल हो सकते हैं जो .NET कोर द्वारा समर्थित नहीं है। विफलता का एक और कारण देशी एपीआई संभवतः पुशर क्लाइंट द्वारा उपयोग किया जा सकता है। तो आपको इसे व्यापक रूप से परीक्षण करना चाहिए। लेकिन ज्यादातर मामलों में यह सिर्फ उन सभी प्लेटफॉर्म पर काम करेगा जहां .NET कोर समर्थित है (मैंने MathNet.Numerics निर्भरता के साथ एक एप्लिकेशन का परीक्षण किया और यह लिनक्स पर काम किया, भले ही MathNet.Numerics भी .NET Framework 4.6.1 है) ।

  2. यदि आपको क्रॉस-प्लेटफॉर्म होने के लिए अपने ऐप की आवश्यकता नहीं है तो बस अपने लक्ष्य ढांचे को .NET 4.6.1 से <TargetFramework>net461</TargetFramework> में csproj में बदलें।

+0

के साथ काम कर रहा हूं क्या ऐसी चेतावनी को दबाना संभव है? – mateuszlewko

+1

हां, NU1701 को अपने csproj में रखें –

5

आपको अपनी परियोजना .NET-Core तैयार करने के लिए पुशर क्लाइंट से लोगों को बताना होगा।

+0

लाइब्रेरी को .NET-Core तैयार नहीं करता है? यह पहले से ही nuget.org में है, इसलिए मुझे लगता है कि इसका उपयोग करना ठीक है? – fluter

+1

@fluter PusherClient एक नेट फ्रेमवर्क लाइब्रेरी है। इसे नेट कोर 1.x पर उपयोग करने के लिए, इसे .Net Standard 1.x लाइब्रेरी में बदला जाना होगा। – svick

+1

@fluter लेकिन [एमएस के अनुसार] (https://blogs.msdn.microsoft.com/dotnet/2017/06/28/announcing-net-core-2-0-preview-2/) यह एक नई सुविधा है .NET कोर के 2.0 संस्करण का है कि आप .NET Framework 4.6.1 (और नीचे) पुस्तकालयों का संदर्भ दे सकते हैं। – Sourcerer

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