Jasica.Net

C#, .Net, SQL i nie tylko

MSDeploy(aka WebDeploy) - problem po aktualizacji do .Net 4.5

Migracja do .Net 4.5, mimo iż miał być bezproblemowa, czasem stwarza problemy. Jednym z narzędzi jakie nie chciało od razu współpracować z .Net 4.5 jest MSDeploy(aka WebDeploy).

Po migracji projektu do .Net 4.5 MSDeploy podczas publikacji paczki na IIS, zgłaszał błąd:

Error Code: 51
More Information: The application pool that you are trying to use has the
'managedRuntimeVersion' property set to 'v4.0'. This application requires 'v4.5'.
Error count: 1.

Mało eleganckim obejściem jest oszukanie MSDeploy'a poprzez zmianę wersji .Net przed publikacją przy pomocy przełącznika preSync:

-preSync:runCommand="%systemroot%\system32\inetsrv\APPCMD stop apppool P  
 & %systemroot%\system32\inetsrv\APPCMD set apppool P /managedRuntimeVersion:v4.5"

Wykonanie tego polecenia wprowadzi zmiany w ustawieniach puli, a nawet nowa wersja frameworka będzie dostępna do wyboru na liście:

 

Oczywiście, tak ustawiona pula nie będzie działać poprawnie, więc należy przywrócić ustawienia pierwotne, prosząc MSDeploy'a by wykonał na zakończenie porządki:

-postSync:runCommand="%systemroot%\system32\inetsrv\APPCMD set apppool P /managedRuntimeVersion:v4.0  
 & %systemroot%\system32\inetsrv\APPCMD start apppool P

Zna ktoś inne rozwiązanie tego problemu?

Dodaj komentarz

Loading