2010-02-12 5 views
1

J'ai une application ASP MVC (1.0). Il fonctionne bien localement via Visual Studio et sur notre serveur de développement qui exécute IIS6. Mais lorsque je tente de déployer sur le serveur de test (en cours d'exécution IIS7 sur Windows Server 2008 R2) Je ne reçois que:Problème lors du déploiement d'une application ASP MVC sur IIS7

"Could not load file or assembly '<ApplicationName>' or one of its dependencies. Access is denied" (where <ApplicationName> is the name of my application). 

Ceci est suivi d'un « FileLoadException », un « ConfigurationErrorsException » et deux « HttpException » (tous avec le même message que ci-dessus)

J'ai été déployé via la publication dans un répertoire vide, dont le contenu a ensuite été compressé et transféré vers le répertoire du site sur le serveur de test. Si je copie le contenu des répertoires dans mon installation IIS cela fonctionne très bien. J'ai vérifié que networkservices a l'autorisation d'accéder aux répertoires du site et aux répertoires temporaires, qui étaient les solutions que j'ai trouvées via google, mais cela n'a pas aidé. Je suis complètement perplexe. Des idées?

Adam

Répondre

0

Eh bien, il a plus étrange quand nous avons essayé une version différente de notre application - nous sommes retournés à l'erreur « Impossible de lire web.config » que nous avions aussi vu plus haut et puis avait disparu avec la version qui a donné l'erreur ci-dessus. Après avoir été convaincu qu'il devait s'agir d'un problème d'autorisations pendant longtemps, nous avons fini par découvrir que web.config (et qui sait quoi d'autre) avait été corrompu d'une manière ou d'une autre lorsque nous avons compressé l'application pour la transférer au serveur. Un goudron puis zip et ça a juste marché. Jamais eu ce problème avec ZIP avant, mais je nous allons simplement utiliser un tar.zip aller de l'avant

3

Est-ce que votre serveur ont System.Web.Mvc.dll installé dans le GAC déjà? Si ce n'est pas le cas, vous devez marquer votre référence à System.Web.Mvc.dll dans votre projet en tant que "Copie locale = true" avant de publier. Faites un clic droit sur la référence et vous verrez l'option. Sinon, System.Web.Mvc ne sera pas dans votre répertoire bin.

j'écrit à ce sujet ici: http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx

+0

Ouais. Nous avons installé le framework MVC sur le serveur (mais c'est un bon conseil de toute façon!). Voyez ma réponse pour ce qui est arrivé. – Adam

Questions connexes