Подтвердить что ты не робот

Может ли ASP.NET vNext использовать ссылки non-vNext?

Итак, у меня есть проект ASP.NET vNext в VS 14 CTP. Я нацелен на .NET Framework 4.5.1. Я добавил ссылку на пакет NuGet, который не имеет сборки для vNext.

Visual Studio теперь показывает использование пакета без ошибок в редакторе /Intellisense. Но при компиляции я получаю ошибки "Пустое имя" MyPackage "не найдено".

Насколько я понимаю, я могу добавить ссылки на сборки .NET Framework, если я нацелен на существующую .NET Framework 4.5.1. Разве это не так? Могу ли я решить эту ошибку?

4b9b3361

Ответ 1

Если у вас есть как k10, так и net451, перечисленные в project.json, VS 14 по умолчанию строит проект для обеих фреймворков. В таком случае, если какая-либо из сборок не построена для рамки k10, сборка завершится неудачей с ошибкой, не найденной пакетом. Таким образом, net 451 пакеты должны быть добавлены в net451 разделе project.json. Я просто вставляю пример project.json, где пакет Microsoft.Bcl указан в разделе net451

{
"dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-*",
    "Microsoft.AspNet.Mvc": "6.0.0-*"
    <more packages>
},
"configurations": {
    "net451": {
        "dependencies": {
            "Microsoft.Bcl": "1.1.9"
            }        
  }
 }
}

Ответ 2

Согласно улучшениям ASP.NET в Visual Studio 2015 CTP 5, вы сможете ссылаться на стандартные проекты из проекта vNext. Вы можете сделать это, просто используя меню "Добавить ссылку", щелкнув правой кнопкой мыши или вручную добавив его в project.json под dependecies.

Просто избегайте создания ссылок на цикличность (ссылки B и ссылки B A), поскольку это заставит Visual Studio автоматически обновлять фокус вашего окна каждые 5 секунд.