![](/img/trans.png)
[英]How to fix `Your project does not reference ".NETFramework,Version=v4.6.1" framework...`
[英]Solving error “Microsoft.NETCore.App 1.0.0 does not support framework .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
部分。 我測試了以下更改,它可以無錯誤地恢復和編譯: 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
.NETCore.App依賴關系僅對.NET Core是必需的,在此處添加它將確保在為該框架構建時可用。
此外, commands
部分已被棄用,可以刪除。
我通過更改以下內容引用.net 4.6.1中的.net核心類庫。
在嘗試從.net 4.6.1引用.net核心時出現此錯誤之前
固定:
原版的
{
"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" ]
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.