2016-07-25 7 views
13

मेरे पास net461 संदर्भों का उपयोग कर एक एएसपी.NET कोर 1.0 पूर्ण एप्लिकेशन चल रहा है। अब मैं एक और ढांचा जोड़ने की कोशिश कर रहा हूं - netcoreapp1.0। इस के लिए, मैं इस तरह मेरी project.json अद्यतन किया है:त्रुटि हल करना "Microsoft.NETCore.App 1.0.0 ढांचे का समर्थन नहीं करता है .NETFramework, संस्करण = v4.6.1"

{ 
    "userSecretsId":"", 
    "version":"2.4.0-*", 
    "buildOptions":{ 
     "emitEntryPoint":true, 
     "preserveCompilationContext":true 
    }, 
    "dependencies":{ 
     "Microsoft.ApplicationInsights.AspNetCore":"1.0.0", 
     "Microsoft.AspNetCore.Authentication.Cookies":"1.0.0", 
     "Microsoft.AspNetCore.Diagnostics":"1.0.0", 
     "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore":"1.0.0", 
     "Microsoft.AspNetCore.Identity":"1.0.0", 
     "Microsoft.AspNetCore.Identity.EntityFrameworkCore":"1.0.0", 
     "Microsoft.AspNetCore.Mvc":"1.0.0", 
     "Microsoft.AspNetCore.Mvc.TagHelpers":"1.0.0", 
     "Microsoft.AspNetCore.Server.IISIntegration":"1.0.0", 
     "Microsoft.AspNetCore.Server.Kestrel":"1.0.0", 
     "Microsoft.AspNetCore.StaticFiles":"1.0.0", 
     "Microsoft.EntityFrameworkCore":"1.0.0", 
     "Microsoft.EntityFrameworkCore.SqlServer":"1.0.0", 
     "Microsoft.Extensions.Configuration.CommandLine":"1.0.0", 
     "Microsoft.Extensions.Configuration.FileExtensions":"1.0.0", 
     "Microsoft.Extensions.Configuration.Json":"1.0.0", 
     "Microsoft.Extensions.Configuration.UserSecrets":"1.0.0", 
     "Microsoft.Extensions.Logging":"1.0.0", 
     "Microsoft.Extensions.Logging.Console":"1.0.0", 
     "Microsoft.Extensions.Logging.Debug":"1.0.0", 
     "Microsoft.VisualStudio.Web.BrowserLink.Loader":"14.0.0", 
     "Microsoft.VisualStudio.Web.CodeGenerators.Mvc":"1.0.0-preview2-final" 
    }, 
    "tools":{ 
     "BundlerMinifier.Core":"2.0.238", 
     "Microsoft.AspNetCore.Razor.Tools":"1.0.0-preview2-final", 
     "Microsoft.AspNetCore.Server.IISIntegration.Tools":"1.0.0-preview2-final", 
     "Microsoft.Extensions.SecretManager.Tools":"1.0.0-preview2-final" 
    }, 
    "commands":{ 
     "ef":"EntityFramework.Commands", 
     "web":"Microsoft.AspNetCore.Server.Kestrel" 
    }, 
    "frameworks":{ 
     "net461":{ 

     }, 
     "netcoreapp1.0":{ 
     "imports":[ 
      "dotnet5.6", 
      "portable-net45+win8" 
     ] 
     } 
    }, 
    "runtimes":{ 
     "win10-x64":{ 

     }, 
     "win81-x64":{ 

     }, 
     "win8-x64":{ 

     }, 
     "win7-x64":{ 

     } 
    }, 
    "publishOptions":{ 
     "exclude":[ 
     "**.user", 
     "**.vspscc", 
     "wwwroot", 
     "node_modules" 
     ] 
    }, 
    "scripts":{ 
     "prepublish":[ 
     "npm install", 
     "bower install", 
     "gulp clean", 
     "gulp min" 
     ] 
    } 
} 

project.json को संशोधित करने के बाद, मैं यह त्रुटि आई:

Failed to make the following project runnable: MVC6_Full_Version (.NETCoreApp,Version=v1.0) reason: Expected coreclr library not found in package graph. Please try running dotnet restore again.

इसके समाधान के लिए, मैं dotnet restore आदेश है, लेकिन कोई किस्मत भाग गया।

फिर, मैं इस ब्लॉक कहा: - नेट

Code: NU1002 Description: The dependency Microsoft.NETCore.App 1.0.0 does not support framework .NETFramework,Version=v4.6.1.

असल में, मैं अपने अनुप्रयोगों में दोनों संदर्भों को जोड़ना चाहते हैं:

"Microsoft.NETCore.App": { 
    "version": "1.0.0", 
    "type": "platform" 
}, 

इस ब्लॉक जोड़ने के बाद, मुझे कोई दूसरी त्रुटि मिला फ्रेमवर्क 4.6.1 और एएसपी.नेट कोर 1.0।

मैं इस त्रुटि को कैसे हल करूं?

+0

आप मेरे उत्तर पर एक नज़र डाल सकते हैं, उम्मीद है कि वह वह करेगा एल.पी.। http://stackoverflow.com/a/39420980/6535426 –

उत्तर

12

.NET Framework या .NET कोर का उपयोग करके एएसपी.NET कोर प्रोजेक्ट्स बनाना निश्चित रूप से संभव है।

  • runtimes अनुभाग निकालें, जब तक आप देशी संकलन (कुछ हद तक असामान्य)
  • प्लेस अंदर एक dependencies अनुभाग में Microsoft.NETCore.App के संदर्भ में ऐसा करने के लिए इच्छुक रहे हैं: बस कुछ ही तोड़ मरोड़ की जरूरत - आप वास्तव में निकट पहुंच गए हैं netcoreapp1.0 अनुभाग। मैं निम्नलिखित परिवर्तन परीक्षण किया है और यह पुनर्स्थापित करता है और त्रुटियों के बिना संकलित:

project.json

... 

    "frameworks": { 
     "net461": { 

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

Microsoft.NETCore.App निर्भरता केवल .NET कोर के लिए आवश्यक है, और यह यहाँ जोड़ने कर देगा सुनिश्चित करें कि उस ढांचे के निर्माण के दौरान यह उपलब्ध है।

इसके अलावा, commands अनुभाग को हटा दिया गया है और हटाया जा सकता है।

+1

धन्यवाद नाट :) यह मेरे लिए काम करता है। – Sachin411

1

मैंने निम्नलिखित को बदलकर .NET 4.6.1 में .NET कोर क्लास लाइब्रेरी का संदर्भ दिया।

इससे पहले कि मैं जब .net से .net कोर को संदर्भित कर रहा इस त्रुटि हो रही थी 4.6.1 enter image description here

फिक्स:

मूल

{ 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0", 
     "type": "platform" 
    }, 
    "Interop.SHDocVw.dll": "1.1.0", 
    "Microsoft.mshtml.dll": "7.0.3300.1" 
    }, 

    "frameworks": { 
    //"net461": {}, 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8", 
     "net461" 
     ] 
    } 
    }, 

    "scripts": { 
    "prepublish": [ "bower install", "dotnet bundle" ] 
    } 
    } 

सही

{ 
    "dependencies": { 
     "Interop.SHDocVw.dll": "1.1.0", 
     "Microsoft.mshtml.dll": "7.0.3300.1" 
    }, 

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

    "scripts": { 
     "prepublish": [ "bower install", "dotnet bundle" ] 
    } 
} 
+0

यह प्रोजेक्ट।विन्यास व्हाओप्ला एक गड़बड़ है। तो .NetCore द्वारा उनका क्या मतलब है, आपको अभी भी सबकुछ सही ढंग से संदर्भित करना है, न कि एक असेंबली बल्कि पैकेज के रूप में। यदि आप संदर्भ -> .NetCoreApp, संस्करण = v1.0 को .NET कोर ऐप में विस्तारित करते हैं और फिर Microsoft.NetCore.App (1.0.0) का विस्तार करते हैं .... वहां उन सभी निर्भरताओं को देखें। तो यह वास्तव में एक एकल "कोर" असेंबली नहीं है। इसका एक कोर जो पुरानी एस्सेबलीज़ के चारों ओर लपेटा जाता है। मुझे वास्तव में इसके लाभ नहीं दिखते हैं, यह आपके ऐप को हल्का बनाता है ... लेकिन फिर भी यह एक असली कोर नहीं है। – chdev77

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