0

Я использую только Core CLR, что может быть причиной того, что я не могу ссылаться на него.ASP.net 5 RC1 - не может ссылаться System.Web.Mvc

У меня есть следующие в моем project.json:

... 
"frameworks": { 
    "dnxcore50": { 
     "dependencies": { 
     "EntityFramework.Commands": "7.0.0-rc1-final", 
     ... 
     "Microsoft.AspNet.Mvc": "6.0.0-rc1-final" 
     } 
    } 
    }, 
... 

Я ссылается Microsoft.AspNet.Mvc, который я считаю, должны позволить мне ссылаться System.Web.Mvc из моего кода. Но нет.

Мой контроллер:

using System.Web.Mvc; // "Red underline under "Web" 
using System.Threading.Tasks; 
using Microsoft.AspNet.Mvc; 
using Microsoft.AspNet.Identity; 
using Microsoft.AspNet.Identity.EntityFramework; 

namespace MyNamespace 
{ 
    [Authorize] // Red underlined 
    public class UsersController : Controller 
    { 
     // Code inside not shown because it's not the issue. 
    } 
} 

Я пытаюсь использовать [Авторизовать] атрибут в одном из моих контроллеров Web API.


UPDATE. Мне также нужно будет обратиться к новому пакету Microsoft.AspNet.Authorization.

Примерно через полчаса, нависая над атрибутом [Авторизовать] с красной подчеркнутостью, Intellisense дал мне предложение ссылаться на Microsoft.AspNet.Authorization. Пока это не дало мне этого выбора.

Кроме того, я искал атрибут Authorize для ASP.net 5, и все результаты и руководства подсказывают мне ссылку на System.Web.Mvc. Оказывается, все эти учебники старше.

+0

Пожалуйста, не редактируйте решение в вашем вопросе. Отправьте ответ и отметьте его как отмеченный, как только истечет льготный период, иначе Вопрос будет навсегда отмечен как открытый, а stackoverflow выберет его и покажет в неотвеченном разделе вопросов. Так работает переполнение стека – Tseng

+0

Спасибо. Я всегда думал, что только другие пользователи могут отмечать мои ответы в ответ. –

+0

Вы можете тоже, но есть льготный период 2 дня (48 часов). Проверьте справочный центр: http://stackoverflow.com/help/self-answer – Tseng

ответ

1

Основываясь на удачном открытии, мне нужна Microsoft.AspNet.авторизация, чтобы использовать [Авторизовать]. Никакой учебник или даже поиск в Google для этого не дали мне эту информацию.

project.json: Примечание, новая ссылка Microsoft.AspNet.Authorization;

... 
"frameworks": { 
    "dnxcore50": { 
     "dependencies": { 
     "EntityFramework.Commands": "7.0.0-rc1-final", 
     ... 
     "Microsoft.AspNet.Authorization": "1.0.0-rc1-final", 
     "Microsoft.AspNet.Mvc": "6.0.0-rc1-final" 
     } 
    } 
    }, 
... 

Контроллер:

// using System.Web.Mvc; // Removed this line - old. Possibly changed as far back as Beta8 
using System.Threading.Tasks; 
using Microsoft.AspNet.Authorization; // Added this line. It's new. 
using Microsoft.AspNet.Mvc; 
using Microsoft.AspNet.Identity; 
using Microsoft.AspNet.Identity.EntityFramework; 

namespace MyNamespace 
{ 
    [Authorize] // No longer red-underlined. This is from Microsoft.AspNet.Authorization 
    public class UsersController : Controller 
    { 
     // Code inside not shown because it's not the issue. 
    } 
} 
Смежные вопросы