Comment puis-je utiliser la fonction « Publier » dans Visual Studio 2008 sans effacer le contenu du dossier cible?

StackOverflow https://stackoverflow.com/questions/357769

Question

Quand j'utilise Build-> Publier le site Web dans Visual Studio 2008, la plupart du temps, il compile le site, puis me demande simplement « Tous les fichiers dans le dossier cible sera supprimée. Continuer? » (Ou quelque chose à cet effet). À l'occasion, cependant, lors de la publication d'un projet dans Visual Studio, je recevrais une boîte de dialogue qui me donnerait le choix de remplacer complètement le contenu du dossier, ou simplement remplacer les fichiers modifiés avec la version plus récente.

Je préfère beaucoup à publier sans dénaturer complètement le dossier, car l'application déployée crée des fichiers utilisateur et les fichiers de cache comme il a été utilisé que je ne veux pas prendre des mesures supplémentaires pour préserver. Cependant, je ne sais pas pourquoi Visual Studio ne me donne pas toujours cette option. Est-ce un paramètre quelque part je peux changer? Est-il lié à la version de .NET j'utilise?

Toute idée est appréciée!

Modifier - 2009-01-20 sur FollowUp

J'ai toujours pas compris cela, mais voici quelques informations supplémentaires.

Voici ce que la fonction de publication ressemble à un projet ASP.NET sur mon ordinateur de bureau Windows XP:

Et voici à quoi il ressemble à un autre projet sur mon ordinateur portable Vista:

Remarquez les boutons radio dans la seconde capture d'écran qui me permettent de choisir de supprimer le contenu du dossier avant la publication, ou simplement d'écraser des fichiers correspondants. Je voudrais avoir ces options pour chaque projet.

Les deux ordinateurs sont en cours d'exécution Visual Studio 2008 Professional (version 9.0.30729.1 SP, selon Aide-> A propos). La même version exacte. Et je doute la différence du système d'exploitation est à l'origine de ce changement de fonctionnalité. Il faut que ce soit un cadre quelque part, non? Est-ce que quelqu'un sait?

Était-ce utile?

La solution

John est droite , la seule différence est l'un de vos projets est un projet du site Web et l'autre est un Web projet d'application . Vous ne verrez pas le " Convertir en application Web " option que si vous êtes dans un Web projet d'application . Je sais ... il est très trompeur. La raison derrière cela découle de la façon de convertir à un projet d'application Web . Si vous envisagez de convertir (qui peut être une vraie douleur dans le cul, selon la façon dont il est mis en place), vous devez être au courant de quelques différences:

Dans projet d'application Web tout est pré-compilé toutes les pages de CodeBehind seront compilés dans un fichier .dll ---- Dans un Site Web du projet rien dans la projet est pré-compilé, le compilateur tout compiler pour vous assurer qu'il est valide, mais aucune des pages compilées sont téléchargés. Lorsqu'un utilisateur tente d'abord d'accéder au site chaque page est compilé dans son propre dll. Cela signifie dans un Site Web du projet vous êtes en mesure de télécharger un seul fichier codebehind.

Namespaces - Dans un Web projet d'application namespaces sont créés par défaut dans Site Web du projet ils ne sont pas. Donc, vous pourriez avoir à passer un certain temps de les ajouter si vous prévoyez de les convertir.

Les fichiers de projet - vous remarquerez que Un projet Site Web ne dispose pas d'un fichier "cproj" projet d'application Web ne.

Je l'ai converti quelques de ces projets, je trouve qu'ils vont assez lisse aussi longtemps qu'il n'y a pas beaucoup de code dans le dossier « App_Code ». Vous pouvez essayer et voir comment il est facile, si on dirait que ça va être une douleur, je suggérerais FileZilla juste FTP et vous épargner un mal de tête.

Bonne chance

Autres conseils

Ce dialogue est différent pour les projets de site Web et les projets d'application Web. Dans mes projets MVC (projets d'application Web), je vois les options supplémentaires. Dans mes projets réguliers du site web « ol, je vois la première boîte de dialogue affichée.

Je ne sais pas si cette option sera adapté pour vous, mais vous pouvez utiliser la fonction de copie site de l'explorateur de solution. Cliquez sur l'icône « Copie site » en haut de l'explorateur de solution.

Je pense que la vraie réponse à votre question est que vous devez mettre vos fichiers utilisateur et les fichiers cache quelque part ailleurs.

Lors de la publication d'un site Web Visual Studio est conçu pour vous assurer que le dossier cible contient vos fichiers de site Web, et absolument rien d'autre.

Il semble que cette fonctionnalité est à venir dans VS2010 - c'est ce que Vishal Joshi a annoncé à TechEd EMEA en session "PDC307: Microsoft Visual Studio 10: Développement Web Futures"

Le site a été mis à jour à partir du site dans la couche mise à jour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top