Я работаю с проектом приложения в Visual Studio Express 2012 для Web и использую .NET 4.0. В коде файлов для страниц входа в систему и смены пароля я обнаружил ситуацию, когда в объявлении мне потребовались и CodeBehind, и CodeFile.
Если я не добавлю ссылку на кодовый файл, например
CodeFile=login.aspx.cs
Веб-страница не анализируется, и браузер отображает ошибку синтаксического анализатора. Неважно, скомпилирую я проект или нет.
Если я не добавлю код для ссылки, например
CodeBehind=login.aspx.cs
Ссылки на классы безопасности, такие как MembershipUser, терпят неудачу как во время компиляции, так и при попытке использовать intellisense с ошибкой, такой как «Тип или пространство имен MembershipUser не может быть найдено». Я добавил ссылку на System.Web.ApplicationServices, как того требует платформа .Net 4.0.
Я должен добавить, что эти проблемные файлы выполняются в приложении на веб-сайте, созданном с помощью инструмента IIS Application. Когда я открываю сайт из Visual Studio, у меня нет проблем с ошибками синтаксического анализатора или ссылочными ошибками. Эта путаница возникает только тогда, когда я открываю приложение как проект в Visual Studio.