46 votes

Dois-je installer MVC 3/4 sur un serveur Web pour exécuter l'application mvc?

J'ai une application MVC 4 et fonctionne bien sur ma machine DEV où j'ai installé l'extension MVC 4 pour VS 2010.

Lors du déploiement sur le serveur Web avec IIS 7, dois-je installer MVC 4 ou la dll incluse dans mon projet est-elle suffisante?

La raison pour laquelle je pose la question est que nous devons fournir les besoins à l’équipe d’infrastructure.

Merci.

80voto

Shyju Points 46555

Vous pouvez exécuter une application MVC sans installer MVC sur votre serveur. Il ya quelque chose appelé dépendance déployable dans Visual studio. Qui publiera votre MVC Dll dans le dossier bin quand vous le publier.

à partir de la msdn page,

Cela va ajouter des assemblées (les fichiers DLL) pour un projet de site Web ou d'une application Web projet. Lorsque vous déployez votre application ou de site Web, les fichiers sont inclus dans le projet de déploiement. Ceci est utile si les applications ou les les technologies que votre projet dépend ne sont pas déjà installés sur le serveur qui va héberger votre projet Web. Par exemple, vous pouvez utiliser cette fonctionnalité pour déployer un ASP.NET MVC 3 application Web sur un serveur qui n'a pas ASP.NET MVC 3 est installé.

Clic droit sur le Projet et Sélectionnez Ajouter une Dépendance Déployable à partir du menu contextuel

enter image description here

Sélectionnez ce que toutes les Dll que vous voulez être publié

enter image description here

Après avoir cliqué sur OK, Vous verrez un nouveau dossier appelé _bin_deployableAssemblies. Vous pouvez faire normale de la Publication de la procédure maintenant et vous aurez la dll dans le dossier bin de l'publier la sortie.

enter image description here

Vérifiez ce post pour plus de détails http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

Vous devez disposer de Visual Studio 2010 SP1. Sinon, il ne sera pas affiché dans le menu contextuel lorsque vous cliquez droit sur le projet d'être publié.

EDIT : Comme de MVC4, toutes les assemblées d'exécuter une application MVC sont automatiquement ajoutés dans le répertoire bin, et tout MVC4 application est bin-déployable (signifie que vous pouvez l'exécuter sur un serveur sans explicitement l'installation de MVC) . Pour cette raison, l'Inclure Déployable Assemblées boîte de dialogue a été supprimée à partir de Visual Studio 2012

6voto

Bogdan Gavril Points 4059

Vous n'avez plus l'option "Ajouter des dépendances déployables" dans Visual Studio 2012. Vous devez donc le faire manuellement, en déployant bin tous les assemblys MVC:

 Microsoft.Web.Infrastructure
System.Web.Helpers
System.Web.Mvc
System.Web.Razor
System.Web.WebPages
System.Web.WebPages.Deployment
System.Web.WebPages.Razor
 

Un guide étape par étape se trouve ici .

4voto

AvkashChauhan Points 14572

Lorsque u créer un MVCx spécifiques du projet dans Visual Studio, vous verrez beaucoup de MVC.* les références sont ajoutées à votre projet et par défaut, tous les de ces de référence de la propriété "Copie Locale" est définie sur "True" signifie que ces références seront le cadre de votre solution finale à chaque fois que vous allez déployer pour. Vous pouvez également vérifier que ces MVC références spécifiques sont également une partie de votre dossier BIN.

Enfin, quand vous aurez paquet de cette solution et de les publier sur un Serveur Web spécifique ou à Windows Azure ou de l'utilisation WebDeploy, toutes ces références seront le cadre de votre forfait aussi. Et parce que ces références sont expédiées dans des colis à l'endroit où vous allez déployer la solution, tous MVC références spécifiques seront là et à cause de cela, vous n'avez pas besoin de déployer MVC à ceux des serveurs spécifiques.

Je tiens aussi à ajouter que tout moment lorsque vous ajoutez une référence spécifique à votre projet dans Visual Studio, définissez sa propriété "Copie Locale" TRUE pour que la référence sera toujours une partie de votre solution finale, et va vous sauver de problèmes à l'avenir.

1voto

Josh Mein Points 12352

Vous avez seulement besoin d'avoir les dll déployées dans la corbeille de votre projet. Pour un exemple de préparation de votre site Web à la publication, consultez le blog suivant:

lancer-asp-net-mvc-3-app-sur-un-serveur-web-que-ne-n-t-avoir-asp-net-mvc-3-installed.aspx .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X