Возникли проблемы с установкой MVC 3 rc1 Razor cshtml файла.
Действие сборки по умолчанию было изменено с "Нет" на "Содержимое", как я понимаю, для поддержки публикации / развертывания Visual Studio.
Для конкретного проекта я не использую метод публикации / развертывания Visual Studio и не нуждаюсь в компиляции из командной строки.
Задание для параметра "Скомпилировать" действия по-прежнему, по-видимому, компилируется, с дополнительным преимуществом ошибок времени компиляции и предупреждений, генерируемых для любых ошибок кодирования в cshtml.
Это кажется огромным преимуществом по сравнению с обычными ошибками только во время выполнения.
Если я изменю действие сборки на "Компилировать", кто-нибудь знает, с какими проблемами я столкнусь позже?
Большое спасибо..
редактирование: я не уверен, с какими будущими проблемами я мог столкнуться, кроме развертывания VS или компиляции из командной строки, но для безопасности я остановился на опции прекомпиляции, которую упоминает marcind в своем комментарии. Я отметил это как самый близкий ответ.
1 ответ
Установка для ваших файлов Razor "Compile" не должна работать (и я удивлен, что вы говорите, что это подходит для вас), потому что файлы, помеченные как "Compile", передаются в языковой компилятор, соответствующий вашим типам проектов. И большинство файлов Razor не являются допустимыми исходными файлами C# или VB, и они приводят к ошибкам компилятора.
Похоже, что VS делает что-то странное и не всегда показывает ошибку при компиляции из IDE. Тем не менее, он всегда терпит неудачу, когда вы компилируете проект непосредственно из командной строки.
Так что ответить на ваши вопросы
- Потому что не работает
- Это не сработает (сейчас или позже). Фактически, когда вы публикуете / развертываете свой сайт, ваши файлы Razor не будут скопированы.
И чтобы быть техническим, "Build Action" должен быть "Content", потому что именно так работает публикация / развертывание asp.net (а в более ранних превью это было "None", потому что VS фактически ничего не знал о файлах Razor, и это по умолчанию) поведение; целью "перемен" было заставить вещи работать вообще).