Как переключить контекст в 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?
Ответы
Ответ 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
}