Не удалось разрешить следующие зависимости для целевой платформы 'DNX,Version=v4.5.1'
Я использую ASP.NET 5.0, и я хотел запустить только на новом Core CLR, поэтому я удалил "dnx451": { }
от зависимостей в моем project.json
файл. Теперь я получаю следующую ошибку при запуске в IIS:
Не удалось разрешить следующие зависимости для целевой платформы "DNX, версия =v4.5.1": Microsoft.AspNet.Mvc 6.0.0-beta4 Microsoft.AspNet.Server.IIS 1.0.0-beta4 Microsoft.AspNet.Server.WebListener 1.0.0-бета4 Microsoft.AspNet.StaticFiles 1.0.0-бета4
Насколько я понимаю, AspNet.Mvc 6 будет работать на Core CLR? Почему тогда я должен включить dnx451
как зависимость?
мой project.json
файл:
{
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"Microsoft.AspNet.Mvc": "6.0.0-beta4",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta4",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta4",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta4"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
},
"frameworks": {
"dnxcore50": { }
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
]
}
2 ответа
Определение dnxcore50
как зависимость в project.json
это не то же самое, что сказать Решение о том, что dnx
, Чтобы исправить это, мне пришлось изменить решение global.json
файл для использования определенной версии dnx
(т.е. конкретный исполняемый файл.Net). Я также должен был изменить несколько using
заявления об использовании новых библиотек Core CLR вместо библиотек.Net 4.5. Вы получите intellisense и предупреждения об ошибках об этом.
global.json
файл можно найти под узлом решения. Я должен был добавить часть версии SDK:
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-beta4"
}
}
Обратите внимание, что вы также можете редактировать это в графическом интерфейсе:
Настоятельно рекомендуем недавно загруженные ролики ASP.NET Введение и ASP.NET Deep Dive из Build 2015, доступные на канале 9.
У меня была эта ошибка при публикации моего веб-приложения DNX. Оказалось, это потому, что я обновил Beta5 до Beta6, но не смог обновить свой скрипт сценария PowerShill для публикации, который выглядит следующим образом:
$thisFolder = (Get-Item -Path ".\" -Verbose).FullName
$webFolder = "$thisFolder\..\src\Web.UI"
dnu publish $webFolder `
--out \\uatserver\uatshare `
--configuration DEBUG `
--no-source `
--runtime dnx-clr-win-x64.1.0.0-beta5
Таким образом, в последнем параметре моя публикация все еще говорила о бета5 вместо бета6.