J'ai un projet ASP.NET qui utilise IIS. IIS est configuré pour utiliser un nom d'hôte de liaison 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 attache automatiquement au processus de travail IIS lors du débogage.
Lorsque je recharge le projet (en fermant/réouvrant la solution ou en déchargeant/rechargeant dans le menu contextuel du projet), quelque chose d'inattendu se produit. Échec du chargement du projet, (load failed)
est affiché à la droite du nom du projet dans l’Explorateur de solutions et une boîte de message s’affiche avec le message suivant (elle apparaît également dans la fenêtre de sortie):
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 de projet de IIS Express applicationhost.config
fichier, mais cela n’a pas aidé.
Je ne rencontre pas ce problème lorsque le projet de mappage vers IIS Application sous le site par défaut.
La version de VS est Ultimate 2012 Update 3.
Ouvrir en tant qu'administrateur n'a pas résolu le problème pour moi. Ce qui a réglé le problème pour moi, c’était d’ouvrir les deux les fichiers .csproj
Et .csproj.user
Et de s’assurer que UseIISExpress
était réglé sur false
.
Dans mon cas, le fichier .csproj.user
Remplaçait le fichier .csproj
Même si SaveServerSettingsInUserFile
était marqué false
.
<Project ToolsVersion="12.0" xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UseIISExpress>false</UseIISExpress>
<!-- ... -->
</Project>
La solution est la suivante: delete *.csproj.user
fichier!
J'ai défini " SaveServerSettingsInUserFile " sur True et cela a fonctionné pour moi.
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>50584</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:50584/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
Source: cliquez ici
lorsque vous utilisez enable the pour IISexpress, l'applicationHost.Config (situé dans% userprofile%\iisexpress\config), vous devez cocher l'option "Appliquer les paramètres du serveur à tous les utilisateurs (stocker dans le fichier de projet)" pour éviter que vos paramètres ne soient écrits. dans votreprojet.csproj.user
faire cela revient à éditer votre fichier project.csproj et à écrire <WebProjectProperties> <UseIIS>True</UseIIS> <AutoAssignPort>True</AutoAssignPort> <DevelopmentServerPort>62242</DevelopmentServerPort> <DevelopmentServerVPath>/</DevelopmentServerVPath> <IISUrl>http://localhost:8100/Claims/</IISUrl> <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl> <IISAppRootUrl>http://localhost:8100/Claims/</IISAppRootUrl> <NTLMAuthentication>False</NTLMAuthentication> <UseCustomServer>False</UseCustomServer> <CustomServerUrl></CustomServerUrl> <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile> </WebProjectProperties>
Si vous activez IISExpress et que votre fichier applicationHost.config ne contient pas l'entrée liée aux paramètres de votre projet, il vous suffit d'appuyer sur le bouton "Créer un répertoire virtuel" et c'est terminé!
j'espère que cela t'aides
Dans mon cas, la suppression du fichier * .csproj.user a bien fonctionné
J'ai eu le même problème, pour moi tout ce que j'avais à faire était d'ouvrir Visual Studio en tant qu'administrateur et cela a résolu le problème pour moi.
si simple clic droit sur le visual studio 2012 et cliquez sur "Exécuter en tant qu'administrateur". J'espère que cela t'aides
Pour moi, la combinaison des deux fonctionnait pour Visual Studio 2015 Preview avec Windows 7 64 bits:
1. supprimer le fichier * .csproj.user et
2. <UseIISExpress>false</UseIISExpress>
dans le fichier de solution.
Étapes pour l’étape 2: Dans Visual Studio Cliquez avec le bouton droit sur Projet ==> Décharger ===> Modifier la solution.
Si votre projet fait partie d'une solution, ouvrez le fichier de solution (.sln) et modifiez la section du projet.
ProjectSection(WebsiteProperties) = preProject
UseIISExpress = "false"
Cela a fonctionné pour moi.
J'ai atterri ici lorsqu'un projet configuré pour utiliser IIS ne se charge pas car il n'a pas pu trouver le site Web (myproject.mycompany.local), même si le site Web s'est chargé correctement dans mon navigateur Web.
La solution consistait à vérifier que le lien du site dans IIS 7 avait le nom d'hôte défini sur "myproject.mycompany.local". Pour accéder aux liens de votre site:
Si votre site ne se charge pas non plus dans le navigateur Web, c'est probablement parce que vous n'avez pas d'entrée pour cela dans votre fichier hosts:
127.0.0.1 myproject.mycompany.local
Cela suffit
Commentez cette ligne dans le fichier de projet x.csproj
<!--<UseIIS>True</UseIIS>-->
x.csproj: erreur: l'URL ' http: // localhost/x ' du projet Web 'x' est configuré pour utiliser IIS Express en tant que serveur Web, mais l'URL est actuellement configurée sur le serveur Web IIS local. Pour ouvrir ce projet, vous devez utiliser IIS Le gestionnaire permet de supprimer les liaisons utilisant cette URL à partir du répertoire local. IIS).
Ce problème a gâché ma journée au VS 2013 aujourd'hui. J'ai essayé tout ce qui précède, mais je n'ai pas chargé le projet avant de créer un site Web dans IIS et de renseigner cette section dans le fichier .csproj (en particulier l'élément IISUrl):
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>81</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost/SomeProject</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
J'ai eu le même problème, exécuter en tant qu'administrateur ne fonctionnait pas pour moi.
Réglage <UseIIS>True</UseIIS>
à false dans le fichier ".csproj" du projet pourrait temporairement charger le projet, mais la valeur revenait à True après le redémarrage ou la fermeture de la solution.
Complétant la réponse de @Cyrus (qui fonctionnait pour moi) pour une réponse plus nette, je me suis davantage concentré sur le fichier csproj.user du projet et j'ai trouvé la source exacte du problème: setting <UseIISExpress>true</UseIISExpress>
à false, puis rechargez le projet. fonctionne bien, sans supprimer le fichier csproj.user. le résultat est comme ça:
<Project ToolsVersion="4.0" xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
<UseIISExpress>false</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<NameOfLastUsedPublishProfile>My Project's Name</NameOfLastUsedPublishProfile>
</PropertyGroup>