ASP.NET опубликовать: старая DLL не перезаписывается и возвращается - PullRequest
1 голос
/ 05 февраля 2010

Используя VS2008sp1, я публикую веб-приложение на отдельном сервере IIS7.5. Некоторое время все было в порядке, но поразил этот странный сценарий: -Создал файл класса, который генерирует свою собственную DLL. -работает хорошо локально -При публикации на сервер, там есть более старый файл DLL вместе со всеми другими более новыми файлами (на основе отметки времени). Приложение умирает, когда пытается выполнить новый метод класса (оно знает о правильном вызове метода, но не может найти метод. Например, метод не найден: class.method ()) Отключил службу IIS. Удаленный файл DLL, переиздан: все еще показывал более старую DLL (???)

Это явно где-то кешируется / защищается, но как мне обойти эту публикацию как группу? Нужно ли перезапускать IIS каждый раз?

Ответы [ 3 ]

1 голос
/ 05 февраля 2010

Обычно это проблема с разницей во времени на вашем компьютере и на сервере.

Если ваша машина немного впереди, то Visual Studio не будет перезаписывать некоторые файлов на сервере во время публикации.

Лучше всего удалить все на сервере, а затем опубликовать. Или синхронизируйте часы. Однако даже тогда иногда такие вещи, как файлы ресурсов, по-прежнему не публикуются правильно.

В.С. пытается здесь быть слишком умным.

Еще одна вещь, которую нужно сделать, это установить флажок «Удалить все существующие файлы перед публикацией», если он доступен.

0 голосов
/ 05 февраля 2010

Если вы перезапустите IIs, он очистит все кэшированные DLL - это лучший способ обеспечить установку с самой новой версией. Документы MS говорят, что он перезагрузится и будет работать бок о бок, но почему бы просто не очистить присоску?

0 голосов
/ 05 февраля 2010

Удалите временные файлы ASP.Net, расположенные в папке framework на сервере, которые соответствуют вашему конкретному приложению.

% SystemRoot% \ Microsoft.Net \ Framework \ v \ Временные файлы ASP.Net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...