Когда я отлаживаю проект веб-сайта в Visual Studio 2013, у меня возникает проблема, когда я пытаюсь придать элемент сеанса определенному типу (ZZZZ).Исключение InvalidCastException при чтении из состояния сеанса
return (ZZZZ) Session["SessionItem"];
InvalidCastException выбрасывается со следующим содержанием
Исключение типа «System.InvalidCastException» произошло в App_Code.axv-bzrg.dll, но не был обработан в пользовательском коде Дополнительная информация : Невозможно передать объект типа «XXX.YYYY.ZZZZ», чтобы ввести «XXX.YYYY.ZZZZ».
Я добавил элемент часы для
(WebUser) Session["LoggedInUser"]
И следующее отображался в Value части часы:
типа «XXX.YYYY.ZZZZ» существует в обоих 'App_Code.axv-bzrg.dll' и 'App_Code.ys_ymegf.dll'
Я перемещаться к временному ASP.NET Files папку
C: \ Users _________ \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ корень \ dc8aa7ce \ b2661c39
И две DLL файлы были там. Я думаю, что DLL-файлы App_Code генерируются при каждом запросе страницы, но предыдущие НЕ удаляются, в результате чего в каталоге Temp есть два дублированных типа. Почему это происходит и как я могу это исправить?
Остановка IIS и очистка всех \ Временных файлов ASP.NET \ часто исправляет ее. Реже чистая/перестроенная система исправляет это. – MatthewMartin
Вы правы, но я не могу остановить IIS или перестраивать каждый раз (отладка будет невозможна).Кроме того, удаление временных файлов возможно, но крайне раздражает и непродуктивно. Кроме того, у меня нет опции Clean для этого проекта. Подумайте, почему это может быть? – alex
Чистое решение должно быть в контекстном меню. Чистое перекомпилирует все, включая вещи, которые Visual Studio думает, не нуждается в перекомпиляции. Прошло некоторое время, но иногда это происходит, когда динамическому компилятору не нравится, как вы устанавливаете директивы в своей разметке. Другим более решительным решением является переход от WebSite к WebApplication, который имеет более предсказуемую компиляцию/менее изворотливую, особенно по мере увеличения размера проекта. – MatthewMartin