У меня есть некоторые общие вопросы о web.config и как это работает в отношении ссылки на сборку. Я играю с новым движком просмотра Razor, и у меня возникли проблемы с его запуском и запуском.
Моя проблема началась с общего
Тип или имя пространства имен 'XXXXX' не существует в пространстве имен 'XXXXX' (вам не хватает сборки ссылка?)
Теперь я понял, что это просто простая ссылка на проект, и я буду в пути. Но даже после того, как я добавил ссылку на недостающую сборку, мой проект продолжал ломаться.
Я нашел решение, и мне пришлось добавить ссылку на сборку в файле web.config. Как только я это сделал, все сработало нормально.
Сначала, я хочу понять, почему для исправления этой проблемы потребовалось добавить ссылку на web.config. Почему ссылка на проект не была достаточно хорошей?
Второй, когда дело доходит до добавления ссылок в web.config, я хотел бы понять синтаксис. Когда я вижу разметку вроде этого
<add assembly="System.Web.WebPages" />
мне кажется очень понятным, что я добавляю сборку с именем System.Web.WebPages. Но полный синтаксис в моем web.config
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Версия кажется самоочевидной, но для чего используется культура и PublicKeyToken? Они требуются? Что произойдет, если я не знаю ни одного из них, могу ли я просто поместить что-нибудь?