2016-08-08 7 views
6

मैं वीएस अपडेट 3 (14.0.25425.01) का उपयोग कर रहा हूं। यहाँ मैं क्या किया है है:.NET कोर ऐप से संदर्भित .NET 4.6.2 क्लास लाइब्रेरी

  1. ASP.Net कोर वेब अनुप्रयोग (नेट कोर)
  2. कक्षा लाइब्रेरी नेट 4.6.2
  3. बनाएं चौखटे, netcoreapp1.0, परियोजना में आयात करने के लिए net462 जोड़े बनाएँ। json
  4. ठीक है, ASP.Net कोर एप्लिकेशन पर क्लिक करें क्लिक करें संदर्भ का चयन करें परियोजनाओं जोड़े, कक्षा लाइब्रेरी का चयन आप मैं बहाल करने पर कोई त्रुटि हो और संदर्भ एएसपी में जोड़ा जाता है कदम 2.

में बनाया। नेट सी अयस्क ऐप हालांकि, मैं इसका उपयोग नहीं कर सकता। मैं एक आयात आयात घोषणा या वस्तुओं तक पहुंच नहीं जोड़ सकता। मैंने कई चीजों से भाग लिया है लेकिन कुछ भी काम नहीं करता है और पोस्ट बहुत ही खंडित हैं।

enter image description here

यहाँ ASP.Net कोर App में Program.cs है। enter image description here

enter image description here

अद्यतन मैं क्या नैट सुझाव दिया था। मैंने सोचा कि मैंने पहले ही यह कोशिश की है .. लेकिन यकीन है कि अब मैं अपने 4.6.2 पुस्तकालयों तक पहुंच सकता हूं। हालांकि, अब मैं संकलन त्रुटियां प्राप्त कर रहा हूं।

enter image description here

उत्तर

4

यह दृश्य स्टूडियो 2015 में काम करता है अद्यतन 3, लेकिन अपने project.json बिल्कुल ठीक नहीं है।

इसके बजाय imports अनुभाग के लिए net462 जोड़ने का है, यह frameworks अनुभाग में होना चाहिए: Microsoft.NETCore.App निर्भरता भी netcoreapp1.0 अनुभाग में ले जाया जा करने की जरूरत है

"frameworks": { 
    "net461": { }, 
    "netcoreapp1.0": { 
    "dependencies": { 
     "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.0" 
     } 
    } 
    } 
} 

सूचना है कि। ऐसा इसलिए है क्योंकि यह निर्भरता केवल .NET कोर अनुप्रयोग के रूप में संकलित होने पर आवश्यक है।

"dependencies": { 
    (...) 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "MyLibrary": { 
    "target": "project" 
    } 
} 

इसे इस तरह की संरचना, मैं संदर्भ और मेरी नेट 4.6 में उपयोग कक्षाएं करने में सक्षम था:

संदर्भ अपने नेट 4.6.2 पुस्तकालय के लिए तो बस अपने dependencies खंड का हिस्सा है। बिना किसी समस्या के 2 लाइब्रेरी।


संदर्भ के लिए, पूरे काम कर project.json मैं प्रयोग किया जाता है:

{ 
    "dependencies": { 
    "Microsoft.AspNetCore.Mvc": "1.0.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Configuration.CommandLine": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "MyLibrary": { 
     "target": "project" 
    } 
    }, 
    "frameworks": { 
    "net461": { }, 
    "netcoreapp1.0": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.0" 
     } 
     } 
    } 
    }, 
    "version": "1.0.0-*" 
} 
+0

क्या वास्तव में 'netcoreapp1.0' या केवल' net461' के लिए संकलित है? – svick

+0

@svick विजुअल स्टूडियो और 'डॉटनेट बिल्ड' दोनों के साथ, 'net461' और' netcoreapp1.0' दोनों के लिए द्विआधारी उत्पादित किए जाते हैं। –

+0

कैसे? एक 'netcoreapp1.0' ऐप' net461' लाइब्रेरी पर निर्भर नहीं होना चाहिए, जो कि संगत नहीं है। – svick

1

@NateBarbettini जवाब मेरे मूल प्रश्न पूरा किया। लेकिन मैं अपने .NET 4.6.1 प्रोजेक्ट के साथ एएसपी.Net कोर वेब एप्लिकेशन संस्करण 1 नहीं चला सका क्योंकि ऐसा इसलिए था क्योंकि यह मेरे .NET 4.6.1 प्रोजेक्ट के लिए .NetCore.App v1 असेंबली नहीं ढूंढ सका। तो मैंने निम्नलिखित प्रोजेक्ट.जेसन के साथ अपने .Net 4.6.1 प्रोजेक्ट में एक प्रोजेक्ट.जेसन जोड़ा।

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.6.0" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
    "imports": "dnxcore50" 
    }, 
    "net461": {} 
} 
} 

अगला, एएसपी में।नेट कोर वेब एप्लिकेशन .NetCore.App के तहत निर्भरता जोड़कर project.json को संशोधित करता है। इस तरह यह दोनों संस्करणों, 4.6.1 और .NetCore v1 उठाएगा।

... 
"frameworks": { 
"net461": { 
    "dependencies": { 
    "ClassLibrary1": { 
     "target": "project" 
    } 
    } 
}, 
"netcoreapp1.0": { 
    "imports": [ 
    "dotnet5.6", 
    "portable-net45+win8", 
    "net461" 
    ], 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0", 
     "type": "platform" 
    }, 
    "ClassLibrary1": { 
     "target": "project" 
    } 
    } 
} 
} 

अब तक तो अच्छा, मैं नेट 4.6.1 में विकसित कर सकते हैं और यह .NetCore.App v1 के तहत चल रहा काम करेंगे। हालांकि, मुझे लगता है कि मेरे .NET 4.6.1 प्रोजेक्ट्स में अन्य निर्भरता होने पर समस्याएं होंगी।

+0

चलाता है अन्य निर्भरता आपके .NET 4.6.1 प्रोजेक्ट में समस्याएं क्यों उत्पन्न करेगी? –

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