2017-09-07 24 views
7

में कनवर्ट करें क्या क्लास लाइब्रेरी को .NET Core 2.0 को .NET मानक में आसानी से परिवर्तित करने का कोई तरीका है?.NET कोर 2.0 कक्षा पुस्तकालयों को .NET मानक

यदि मैं इसे सही ढंग से समझता हूं, यदि कोई अलग-अलग .NET ढांचे को लक्षित करने वाली परियोजनाओं में कक्षा पुस्तकालयों की पुन: प्रयोज्यता को अधिकतम करना चाहता है। .NET Framework, .NET Core, Xamarin, आदि, .NET मानक को लक्षित करना एक बेहतर विचार है - बशर्ते कि सभी आवश्यक API .NET मानक के संस्करण में उपलब्ध हों, जिन्हें लक्षित किया जाएगा।

यही कारण है कि मैं अपनी कक्षा पुस्तकालयों को .NET कोर 2.0 से .NET मानक 1.6 या .NET मानक 2.0 में परिवर्तित करना चाहता हूं।

उत्तर

9

प्रोजेक्ट फ़ाइल में, आप इंगित कर सकते हैं सटीक संस्करण के साथ netstandard पर लक्षित संकलन।

Proj.csproj का उदाहरण:

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <TargetFramework>netstandard1.6</TargetFramework> 
    </PropertyGroup> 
</Project> 
... 

माइक्रोसॉफ्ट प्रकार लक्षित करने के बारे में अच्छा documentation प्रदान करता है।

DotNet स्टैंडर्ड एक रूपरेखा या एक पुस्तकालय नहीं है, यह निर्देश का सार सेट है: क्या कार्यक्षमता System.Array, String, List, और इतने पर होना चाहिए। वर्तमान में, different implementations: .NET Framework, .NET कोर, मोनो, ज़ैमरिन, विंडोज फोन हैं। इसका मतलब है कि विभिन्न कार्यान्वयन आपके लाइब्रेरी लक्ष्यीकरण netstandard को पुन: संकलित और पुन: उपयोग कर सकते हैं। यह NuGet पैकेज के लिए एक बहुत अच्छी पसंद है।

आप संस्करणों के साथ खेल सकते हैं और अपनी लाइब्रेरी के लिए आवश्यक न्यूनतम फ़ंक्शन सेट ढूंढ सकते हैं। प्रत्येक डॉटनेट मानक पिछले संस्करण की कार्यक्षमता बढ़ाता है। इस प्रकार, लक्षित संस्करण कम से कम आपके लाइब्रेरी का समर्थन करने वाले प्लेटफ़ॉर्म का चयन किया जाता है।

7

आप csproj फ़ाइल को संपादित कर सकते हैं (प्रोजेक्ट फाइल पर राइट-क्लिक करके वी.एस. अंदर किया जा सकता है) और बदल

<TargetFramework>netcoreapp2.0</TargetFramework> 

को

<TargetFramework>netstandard2.0</TargetFramework>