Как устранить ошибку компиляции CS0103 при использовании объекта Video в библиотеке веб-помощников ASP.NET?
Я начинаю изучать веб-разработку с использованием Microsoft WebMatrix 3. Я использую книгу " Представляем Microsoft WebMatrix", которая нацелена на более раннюю версию, но многие вещи совпадают. Однако я получаю ошибки компиляции, когда пытаюсь использовать библиотеку веб-помощников Microsoft ASP.NET, и я не знаю, почему или как устранить проблему. В частности, я получаю ошибку компилятора CS0103 при попытке использовать объект Video или объект LinkShare. Я искал в Интернете в течение нескольких дней, и я не могу найти никого, кто имел ту же проблему и решил ее.
Действия по воспроизведению ошибки
- Запустите WebMatrix 3.
- На странице "Быстрый старт" нажмите "Создать", затем "Галерея шаблонов".
- Выберите Пустой сайт и нажмите Далее. Создан новый сайт под названием "Пустой сайт".
- Откройте страницу Default.cshtml для редактирования.
- На основе учебника " Просмотр видео на сайте веб-страниц ASP.NET (Razor)" добавьте в тело страницы следующее:
@Video.MediaPlayer(path: "myvideo.wmv", width: "400", height: "600", autoStart: true, playCount: 2, uiMode: "full", stretchToFit: true, enableContextMenu: true, mute: false, volume: 75)
- Запустите сайт. В браузере появляется страница с сообщением об ошибке:
"Сообщение об ошибке компилятора: CS0103: имя" Видео "не существует в текущем контексте"
Справедливо. Я буду использовать NuGet для получения библиотеки Microsoft Web Helper. - Вернувшись в окно WebMatrix, нажмите NuGet.
- Выберите источник пакета WebMatrix.
Появляется следующее сообщение об ошибке:Версия схемы "Microsoft.AspNet.WebPages" несовместима с версией NuGet 2.5.40416.9020. Пожалуйста, обновите NuGet до последней версии с http://go.microsoft.com/fwlink/?LinkId=213942.
Нажмите OK, чтобы игнорировать ошибку и продолжить. Я пытался зайти на этот сайт и следовать инструкциям, но у меня уже есть последняя версия NuGet для WebMatrix. - Тип
Web Helpers
в поле поиска и нажмите Enter. - Выберите "Библиотека веб-помощников ASP.NET" и нажмите "Установить". Подтвердите установку и примите лицензионное соглашение. Появляется та же ошибка в отношении версии схемы "Microsoft.AspNet.WebPages". Нажмите кнопку ОК, чтобы игнорировать ошибку.
- Нажмите Закрыть, чтобы выйти из галереи NuGet, и нажмите ОК, чтобы закрыть все оставшиеся окна ошибок.
- Запустите сайт. Появляется то же сообщение об ошибке, что и раньше.
Это демонстрирует ошибку с объектом Video, и я также получаю ту же ошибку, когда пытаюсь использовать объект LinkShare.
Информация об окружающей среде
- ОС: Windows 8.1 Pro с Media Center версии 6.3 (сборка 9600)
- Браузер: Internet Explorer 11.0.9600.16476; Версии обновления: 11.0.2 (KB2898785)
- Информация о версии WebMatrix версии 3.0:
- WebMatrix: 7.1.1932.0
- IIS Express: 8.0.8418.0
- .NET Framework: 4.0.30319.34003, созданный: FX45W81RTMGDR
- Web Deploy: 7.1.1762.0
- Установщик веб-платформы: 7.1.40719.0
- Веб-страницы ASP.NET: 2.0.20715.0
информация о проекте
Следующие пакеты отображаются в разделе Пустой сайт → App_Data → пакеты:
- Microsoft.AspNet.Razor.2.0.20715.0
- Microsoft.AspNet.WebPages.2.0.20710.0
- Microsoft.AspNet.WebPages.Data.2.0.20710.0
- Microsoft.AspNet.WebPages.WebData.2.0.20710.0
- Microsoft.Web.Infrastructure.1.0.0.0
- microsoft-web-helpers.2.1.20710.2 ← добавлено NuGet
Следующие библиотеки DLL отображаются под Пустой сайт → bin:
- Microsoft.Web.Helpers.dll ← добавлено NuGet
- Microsoft.Web.Infrastructure.dll
- System.Web.Helpers.dll
- System.Web.Razor.dll
- System.Web.WebPages.Deployment.dll
- System.Web.WebPages.dll
- System.Web.WebPages.Razor.dll
- WebMatrix.Data.dll
- WebMatrix.WebData.dll
Резюме
Я получаю сообщение об ошибке компилятора CS0103 при попытке использовать объект Video или объект LinkShare из библиотеки ASP.NET Web Helpers. Ясно, что компилятор не находит определения для объектов, которые я пытаюсь использовать, но я не знаю почему, и, как новичок в WebMatrix, я не знаю, как выяснить, почему. В Visual Studio эта ошибка будет указывать на то, что я, вероятно, пропускаю ссылку в проекте, но, похоже, все присутствует в проекте в WebMatrix, и, похоже, ничего не пропущено в командной строке, показанной на странице ошибки.