Решение ошибки "Microsoft.NETCore.App 1.0.0 не поддерживает фреймворк .NETFramework, Version = v4.6.1"
У меня есть полное приложение ASP.NET Core 1.0, использующее ссылки net461
. Теперь я пытаюсь добавить еще одну фреймворк - netcoreapp1.0
. Для этого я обновил свой проект .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 снова.
Чтобы решить эту проблему, я выполнил команду 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.
Как устранить эту ошибку?
Ответы
Ответ 1
Определенно можно создать проекты ASP.NET Core с использованием .NET Framework или .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
требуется только для .NET Core, и добавление ее здесь будет обеспечивать ее доступность при создании для этой структуры.
Кроме того, раздел commands
устарел и может быть удален.
Ответ 2
Я ссылался на .net core class library в .net 4.6.1, изменив следующее.
Прежде чем я получил эту ошибку при попытке ссылаться на ядро .net из .net 4.6.1
![введите описание изображения здесь]()
Fix:
Оригинал
{
"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" ]
}
}
Corrected
{
"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" ]
}
}