85 votes

VS 2012 ne peut pas charger un projet qui utilise IIS avec un hôte de liaison personnalisé - il pense qu'il utilise IIS Express

J'ai un projet ASP.NET qui utilise IIS. Le site IIS est configuré pour utiliser un nom d'hôte personnalisé. Le fichier de projet contient les paramètres suivants :

...
<UseIISExpress>false</UseIISExpress>
...
<ProjectExtensions>
  <VisualStudio>
    <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
      <WebProjectProperties>
        <UseIIS>True</UseIIS>
        <AutoAssignPort>False</AutoAssignPort>
        <DevelopmentServerPort>8662</DevelopmentServerPort>
        <DevelopmentServerVPath>/</DevelopmentServerVPath>
        <IISUrl>http://custom.host.name/</IISUrl>
        <NTLMAuthentication>False</NTLMAuthentication>
        <UseCustomServer>False</UseCustomServer>
        <CustomServerUrl></CustomServerUrl>
        <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
      </WebProjectProperties>
    </FlavorProperties>
  </VisualStudio>
</ProjectExtensions>
...

Lorsque le projet est configuré de cette manière, je peux accéder au site à partir de http://custom.host.name/ et VS s'attache automatiquement au processus de travail IIS lors du débogage.

Lorsque je recharge le projet (soit en fermant/réouvrant la solution, soit en déchargeant/rechargeant dans le menu contextuel du projet), quelque chose d'inattendu se produit. Le projet ne se charge pas, (load failed) s'affiche à droite du nom du projet dans l'explorateur de solutions et une boîte de message s'affiche avec le message suivant (il s'affiche également dans la fenêtre Output) :

The URL 'http://custom.host.name/' for Web project 'Some.Asp.Net.Project' 
is configured to use IIS Express as the web server but the URL is currently
configured on the local IIS web server. To open this project, you must use
IIS Manager to remove the bindings using this URL from the local IIS web server.

J'ai essayé de supprimer la configuration du site du projet dans IIS Express applicationhost.config mais cela n'a pas aidé.

Je ne rencontre pas ce problème lorsque j'associe le projet à l'application IIS sous le site par défaut.

La version du VS est Ultimate 2012 Update 3.

2voto

Gautam Beri Points 109

J'ai eu le même problème, il m'a suffi d'ouvrir visual studio en tant qu'administrateur et cela a résolu le problème pour moi.

il suffit de faire un clic droit sur visual studio 2012 et de cliquer sur "exécuter en tant qu'administrateur". j'espère que cela vous aidera.

2voto

Sunil Yadav Points 21

Pour moi, la combinaison des deux a fonctionné pour Visual Studio 2015 Preview avec Windows 7 64 bit :
1. supprimer le fichier *.csproj.user et
2. <UseIISExpress>false</UseIISExpress> dans le fichier de solution.
Etapes pour l'étape 2 : Dans Visual Studio, cliquez avec le bouton droit de la souris sur le projet==> Décharger ===> Modifier la solution

1voto

samar samar Points 11

C'est suffisant

Commentez cette ligne dans le fichier de projet x.csproj

<!--<UseIIS>True</UseIIS>-->

x.csproj : erreur : L'URL ' http://localhost/x pour le projet Web "x" est configuré pour utiliser IIS Express comme serveur Web, mais l'URL est actuellement configurée sur le serveur Web IIS local. Pour ouvrir ce projet, vous devez utiliser le Gestionnaire IIS pour supprimer les liaisons utilisant cette URL sur le serveur web IIS local.

1voto

Seth Points 567

J'ai atterri ici lorsqu'un projet, configuré pour utiliser IIS, ne se chargeait pas parce qu'il ne trouvait pas le site web (monprojet.monentreprise.local) - même si le site web se chargeait correctement dans mon navigateur web.

La solution consistait à s'assurer que la liaison du site dans IIS 7 avait le nom d'hôte défini sur "myproject.mycompany.local". Pour accéder aux liaisons de votre site :

  1. Dans IIS 7, sélectionnez le site dans le panneau de navigation de gauche.
  2. Dans le panneau Actions à droite, cliquez sur Fixations...

Si votre site ne se charge pas non plus dans le navigateur web, c'est probablement parce qu'il n'y a pas d'entrée pour lui dans votre fichier hosts :

127.0.0.1    myproject.mycompany.local

1voto

Mr Nsubuga Points 212

Si votre projet fait partie d'une solution, ouvrez le fichier de la solution (.sln) et modifiez la section du projet.

ProjectSection(WebsiteProperties) = preProject
    UseIISExpress = "false"

Cela a fonctionné pour moi.

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