Dot-Net
解決錯誤“Microsoft.NETCore.App 1.0.0 不支持框架 .NETFramework,Version=v4.6.1”
net461我有一個使用引用執行的 ASP.NET Core 1.0 完整應用程序。現在我正在嘗試添加另一個框架 -netcoreapp1.0. 為此,我更新了我的 project.json,如下所示:{ "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 後,我得到了這個錯誤:
無法使以下項目可執行:MVC6_Full_Version (.NETCoreApp,Version=v1.0) 原因:在包圖中找不到預期的 coreclr 庫。請嘗試再次執行 dotnet restore。
為了解決這個問題,我執行了
dotnet restore命令但沒有運氣。然後,我添加了這個塊:
"Microsoft.NETCore.App": { "version": "1.0.0", "type": "platform" },添加此塊後,我得到了一個不同的錯誤:
程式碼:NU1002 說明:依賴Microsoft.NETCore.App 1.0.0 不支持框架.NETFramework,Version=v4.6.1。
基本上,我想在我的應用程序中添加這兩個引用 - .NET Framework 4.6.1 和 ASP.NET Core 1.0。
如何解決此錯誤?
絕對可以使用 .NET Framework 或 .NET Core 建構 ASP.NET Core 項目。你真的很接近 - 只需要一些調整:
- 刪除該
runtimes部分,除非您打算進行本機編譯(有些不尋常)- 將引用
Microsoft.NETCore.App放在dependencies節內的netcoreapp1.0節中。我已經測試了以下更改,它可以恢復並編譯沒有錯誤:項目.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 Core 是必需的,將其添加到此處將確保在為該框架建構時它可用。此外,該
commands部分已被棄用,可以刪除。