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

Как переключить контекст в VS.NET 2015?

Я получаю ошибки сборки, потому что некоторые классы, которые я использую, доступны в "DNX 4.5.1", а не "DNX Core 5.0".

Ошибка:

Невозможно найти тип или пространство имен "[someclass]".

В столбце проекта окна "Список ошибок" я вижу DNX Core 5.0.

В контекстном меню выбран DNX 4.5.1. Почему VS.NET пытается использовать DNX Core 5.0, когда контекст равен 4.5.1?

4b9b3361

Ответ 1

В случае, если некоторые люди все еще борются с этим, вы можете разыменовать DNX Core 5.0, удалив его из ссылок на фреймворк в файле project.json.

Раздел

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

Должно стать

  "frameworks": {
    "dnx451": { }
  },

Ответ 2

Вместо полного удаления DNXCORE50 из вашего project.json. Как и прежде, вы можете добавить конкретный код фреймворка, если вы поместите его в #if #endif, как показано в приведенном ниже коде. Названия фреймов DNX451 и DNXCORE50 являются хорошо известными символами, которые на самом деле называются прошивками целевой структуры (TFM) и одинаковы во всем файле project.json, именах папок, пакетах NuGet и т.д.

Просто примените условное утверждение:

public string Index(){
   #if DNX451
      //code logic here for DNX 4.5.1
   #endif
   #if DNXCORE50

      //code logic here for DNX Core 5.0

   #endif
}