Зачем мне перекомпилированная страница, когда метод, используемый ею, изменяется?
У меня есть страница aspx, которая использовала метод в классе в папке кода приложения,doSomething(int[] x)
, Я изменил определение функции, чтобы использовать IEnumerable вместо массива:doSomething(IEnumerable<int> x)
, Затем я предварительно скомпилировал веб-сайт, используя «разрешить обновление веб-сайта», и опубликовал новый App_Code.dll. Теперь предварительно скомпилированная версия страницы выдает ошибку сервера во время выполнения: «Метод не найден».
Если я также опубликую DLL, сгенерированную для этой страницы, «App_Web_ [page] .aspx. [Random] .dll», это работает. Похоже, подпись функции как-то встроена в скомпилированную страницу…? Почему это так, и есть ли способ избежать этой проблемы при изменении существующего кода?
Я бы не хотел обновлять все библиотеки DLL моей страницы всякий раз, когда я меняю код в моих общих классах.