Не удалось разрешить следующие зависимости для целевой платформы '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.

Другие вопросы по тегам