2009-03-03 3 views
1

У меня есть супер базовая форма, которая снимает электронное письмо. Код содержится в виртуальном каталоге, например http://url/emailer/emailer.aspx, на новом сервере и работает нормально.Нечетная .Net Не удалось загрузить ошибку сборки

Мы находимся в процессе переноса нескольких дополнительных сайтов на этот новый сервер. Чтобы проверить, я обращаюсь к файлам через IP-адрес, чтобы я мог видеть сайт на новом сервере, например http://ip/url/emailer/emailer.aspx.

По какой-то причине, когда я обращаюсь к странице aspx по IP-адресу, я получаю сообщение «не удалось загрузить сборку ... убедитесь, что она скомпилирована до доступа к странице». Тем не менее, я подтвердил, что, когда вы нажимаете на сайт, он работает нормально.

Почему ссылка на IP-адрес вызывает это исключение?

ответ

1

Правильно ли он настроен в IIS? Если он не установлен как приложение так же, как исходный сервер, он будет искать каталог bin в другом месте. Например, если у вас/myapp как каталог, но не приложение, оно будет выглядеть в/bin, но если вы измените его на приложение, оно будет искать его в/myapp/bin.

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

+0

Да, все правильно настроено в отношении IIS. Фактически, я могу взять живой URL-адрес на новом сервере и заменить w/IP-адрес, и он не будет работать. –

+0

И ip указывает на тот же сайт IIS? То, как вы описываете его как http: // url/и другое как http: // ip/url/sounds .. odd? –

+0

Да, я должен был быть более ясным. У меня есть структура папок, например C: \ Inetpub \ wwwroot \ myurl1.com и C: \ Inetpub \ wwwroot \ myurl2.com. Поэтому, когда я перехожу на сайт http://myrurl1.com, он указывает на C: \ Inetpub \ wwwroot \ myurl1.com. То же самое с http: //ip/myrurl1.com. –

0

Это может быть проблема IIS. Иногда IIS настроен так, что сам IP-адрес указывает на другой сайт, так как у вас есть несколько веб-сайтов/приложений на одном сервере, а некоторые из них придирчивы к тому, что URL-адрес предназначен для правильного разрешения.

Можете ли вы проверить настройки IIS для приложения и посмотреть, отображается ли IP-адрес на вашем сайте?

+0

Да, я подтвердил, что IP сопоставляется с моим сайтом. Чтобы подтвердить, я создал новую html-страницу на реальном сайте и смог увидеть ее как на http: //url/email/a.htm, так и на http: //ip/url/email/a.htm URL. Это как-то связано с .Net. –

0

Я столкнулся с этой проблемой иногда, когда сервер, на котором я работаю, работает на дисковой памяти. Сайт пытается загрузить ссылочную DLL, не имеет достаточного свободного места для этого, а затем выбрасывает эту ошибку.

Просто что-то проверить. Это случилось со мной с разделенным диском, где диск C: \ был в основном заполнен обновлениями Windows, и хотя сайты находились на диске D: \, на C: \ для IIS не хватило места для загрузки сборок.

+0

Это хорошая мысль, однако у нас осталось 136 ГБ, поэтому пространство не является проблемой. –

Смежные вопросы