Eu tenho um projeto ASP.NET que usa o IIS. O site do IIS está configurado para usar o nome do host de ligação personalizada. O arquivo de projeto contém as seguintes configurações:
...
<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>
...
Quando o projeto é configurado dessa forma, posso acessar o site de http://custom.host.name/
e o VS automaticamente se conecta ao processo de trabalho do IIS durante a depuração.
Quando recarrego o projeto (fechando / reabrindo a solução ou descarregando / recarregando no menu de contexto do projeto), algo inesperado acontece. O projeto falha ao carregar, (load failed)
é exibido à direita do nome do projeto no gerenciador de soluções e a caixa de mensagem é mostrada com a seguinte mensagem (também é exibida na janela Saída):
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.
Tentei remover a configuração do site do projeto do applicationhost.config
arquivo IIS Express , mas não ajudou.
Não encontro esse problema ao mapear o projeto para o aplicativo IIS no site padrão.
A versão do VS é o Ultimate 2012 Update 3.
fonte
UseIISExpress
como false. stackoverflow.com/a/19103452/138938<UseIIS>True</UseIIS>
para<UseIIS>False</UseIIS>
fazer o truque para mim também. Obrigado pela sugestão!Respostas:
Abrir como administrador não resolveu o problema para mim. Que fixa-lo para mim foi a abertura tanto o
.csproj
e.csproj.user
arquivos e garantindo que ambos tinhamUseIISExpress
definido parafalse
.No meu caso, o
.csproj.user
arquivo estava sobrescrevendo o.csproj
arquivo, emboraSaveServerSettingsInUserFile
estivesse marcadofalse
.<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <UseIISExpress>false</UseIISExpress> <!-- ... --> </Project>
fonte
A solução é: deletar
*.csproj.user
arquivo!fonte
*.csproj.user
, você não pode editar*.csproj
Eu defini " SaveServerSettingsInUserFile " como True e funcionou para mim.
<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>
Fonte: clique aqui
fonte
quando você usa habilita o uso para IISexpress, o applicationHost.Config (localizado em% userprofile% \ iisexpress \ config), você deve marcar a opção "Aplicar configurações de servidor a todos os usuários (armazenar em arquivo de projeto)" para evitar que suas configurações sejam escritas em yourProject.csproj.user
fazer isso é o mesmo que editar seu arquivo project.csproj e gravar
<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>
Se você habilitar IISExpress e seu arquivo applicationHost.config não contiver a entrada relacionada às configurações de seu projeto, você só precisa apertar o botão "Criar diretório virtual" e pronto !espero que isto ajude
fonte
No meu caso, a exclusão do arquivo * .csproj.user funcionou bem
fonte
Eu tive o mesmo problema, para mim tudo o que tive que fazer foi abrir o Visual Studio como administrador e isso resolveu o problema para mim.
tão simples, clique com o botão direito no visual studio 2012 e clique em "executar como administrador". espero que isto ajude
fonte
Para mim, a combinação de ambos funcionou para o Visual Studio 2015 Preview com Windows 7 de 64 bits:
1. exclua o arquivo * .csproj.user e
2.
<UseIISExpress>false</UseIISExpress>
no arquivo de solução.Etapas para a Etapa 2: No Visual Studio, clique com o botão direito do mouse em Projeto ==> Descarregar ===> Editar a Solução
fonte
Isto é suficiente
Comente esta linha no arquivo de projeto x.csproj
<!--<UseIIS>True</UseIIS>-->
x.csproj: erro: O URL ' http: // localhost / x ' para o projeto da Web 'x' está configurado para usar o IIS Express como o servidor da web, mas o URL está atualmente configurado no servidor da web IIS local. Para abrir este projeto, você deve usar o Gerenciador do IIS para remover as ligações usando esta URL do servidor da web IIS local.
fonte
Eu cheguei aqui quando um projeto, configurado para usar o IIS, não carregava porque não conseguia encontrar o site (myproject.mycompany.local) - embora o site tenha carregado corretamente no meu navegador.
A solução foi garantir que a ligação do site no IIS 7 tivesse o nome do host definido como "myproject.mycompany.local". Para obter as ligações do seu site:
Se o seu site também não carregar no navegador da web, é provável que você não tenha uma entrada para ele no arquivo hosts:
127.0.0.1 myproject.mycompany.local
fonte
Se o seu projeto faz parte de uma solução, abra o arquivo da solução (.sln) e edite a seção do projeto.
ProjectSection(WebsiteProperties) = preProject UseIISExpress = "false"
Funcionou para mim.
fonte
Este problema estava arruinando meu dia no VS 2013 hoje. Tentei todos os itens acima, mas não carreguei o projeto até que criei um site no IIS e preenchi esta seção no arquivo .csproj (especialmente o elemento 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>
fonte
Eu tive o mesmo problema, executar como administrador não funcionou para mim.
Definir
<UseIIS>True</UseIIS>
como false no arquivo ".csproj" do projeto pode carregar temporariamente o projeto, mas o valor estava retornando para True após reiniciar ou fechar a solução.Concluindo a resposta de @Cyrus (que funcionou para mim) para obter uma resposta mais simples, me concentrei mais no arquivo csproj.user do projeto e encontrei a origem exata do problema: definir
<UseIISExpress>true</UseIISExpress>
como false e, em seguida, recarreguei o projeto. funcionando bem, sem excluir o arquivo csproj.user. resultado é assim:<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>
fonte