Przeniesienie aplikacji na serwer IIS

Witam,

mam problem z przeniesieniem aplikacji w ASP.NET na IIS 5.1 (na XP). Wszystko jest ok, tworzę sobie katalog wirtualny z plikami (wszystkie poza te z .cs) i jest ok. Strona po załadowaniu w przeglądarce działa (localhost/Alias).

Jednak wszystko się porozjeżdzało… i nie chodzi wcale o to, że nie widzi pliku ze stylami bo widzi. Ale wiele rzeczy się poprzesuwało, menu tworzone z pliku web.sitemap wygląda koszmarnie (nie widać tła buttonów, zachowania nie działają).

Dlaczego tak się dzieje? Czy w zły sposób przeniosłem na ten serwer? Czy on po prostu inaczej interpretuje to co dobrze działa i wygląda na serwerze Visual Studio? Przecież to bez sensu, że jedne divy tu wyglądają ok, a w na IIS nie ;/ Od czego to zależy? Proszę o pomoc, bo już nie wiem jak się za to zabrać ;/

To co widzisz, zależy od przeglądarki oraz kodu XHTML I CSS, nie od wersji IIS.

W jakiej przeglądarce to sprawdzasz?

Sprawdzam w Firefoxie chociażby… ale przeglądarka nie ma znaczenia. Ten sam kod i ta sama przeglądarka a wynik jest inny na serwerze VS niż IIS. Z tego wnioskuję, że to musi być coś z serwerem - albo on czegoś nie interpretuje (bo to jednak ASP.NET, serwer ma udział w przetwarzaniu strony i znaczników chyba) albo ja coś źle przenoszę…

Niemal na samej górze strony jest menu stworzone na pliku Web.sitemap. Wygląda w ten sposób:

ShowStartingNode="false" />

                    OnMenuItemDataBound="bibliotekaMenu_MenuItemDataBound"  

                         StaticMenuItemStyle-CssClass="aaa" StaticHoverStyle-CssClass="bbb" 

                         StaticMenuItemStyle-Font-Bold="true" StaticBottomSeparatorImageUrl="~/Images/sep1.jpg"

                         ForeColor="White" StaticSelectedStyle-ForeColor="ActiveBorder" StaticHoverStyle-ForeColor="Gold"

                         DynamicHoverStyle-ForeColor="Gold" DynamicMenuItemStyle-Font-Bold="true"

                         DynamicSelectedStyle-ForeColor="ActiveBorder" DynamicHoverStyle-CssClass="ddd" DynamicMenuItemStyle-CssClass="ccc"

                           />

Na nazwy klas CSS nie trzeba zwracać uwagi. Tak czy siak mam wrażenie, że to menu właśnie psuje dół strony. Tak jakby te wszystkie atrybuty nie działały?

Może to jakieś różnice w wersji ASP .NET zainstalowanej na serwerze, a tej w której wykonałeś projekt.

Na wszelki wypadek możesz przeinstalować ASP .NET na serwerze. Robi się to przy użyciu konsolowego narzędzia aspnet_regiis. Znajduje się w folderze %windir%\Microsoft.NET\Framework.

Czyli otwierasz wiersz poleceń, a potem:

cd %windir%\Microsoft.NET\Framework\ (wersja to nazwa folderu odpowiadającego wersji .NET, w której wykonany jest projekt)

aspnet_regiis.exe -i

Choć nie wiem, czy to o to chodzi.

Dzięki wielkie Panowie za pomoc :slight_smile: Zawsze można na Was liczyć.

Błąd faktycznie tkwił w wersji serwera… tzn. u mnie było ustawione na 3.5 a on na 4.0. Bo cofnięciu wersji na serwerze do 2.0 (inaczej się nie dało) strona wygląda uroczo :slight_smile:

Dzięki jeszcze raz.

Luzik. BTW może warto projekt przerzucić na 4.0 i serwer też z powrotem na 4.0? Pewno pojawią się problemy z web.config (takie z którymi da się uporać), ale poza tym powinno być OK. Choć na wszelki wypadek możesz sobie najpierw zrobić kopię zapasową projektu.

Zamieniłem wszystko na 4.0 i o dziwo błędy, które miałem jeszcze na chromie, zniknęły. Warto używać najnowszych wersji jednak :wink: