Como posso alterar a porta IIS Express de um site

109

Desejo alterar o número da porta na qual meu site é executado durante a depuração do Visual Studio. Estou usando o Visual Studio 2012 e estou usando a ASP.NET MVC 4 para meus projetos. Quero alterar a porta. Porta aleatória ou qualquer pessoa corrigida funcionará apenas se quiser alterar a porta.

Mohit
fonte

Respostas:

128

Para especificar uma porta para um projeto de aplicativo da Web que usa IIS Express

  1. No Gerenciador de Soluções, clique com o botão direito no nome do aplicativo e selecione Propriedades. Clique na guia Web.

  2. Na seção Servidores, em Usar servidor Web IIS local, na caixa URL do projeto, altere o número da porta.

  3. À direita da caixa URL do projeto, clique em Criar diretório virtual e em OK.

  4. No menu Arquivo, clique em Salvar itens selecionados.

  5. Para verificar a alteração, pressione CTRL + F5 para executar o projeto. O novo número da porta aparece na barra de endereço do navegador.

De Como: Especificar uma porta para o servidor de desenvolvimento ( backup archive.org aqui ).

Hutchonoid
fonte
14
Isso não funciona para sites. Apenas para projetos de aplicativos da web.
Supersharp
2
Nenhuma guia da Web aqui ... Você pensaria que em 2017, isso não seria mais um problema .. Que ou pelo menos deveríamos ser capazes de mudar as portas sem ter que fazer mágica
calcazar
Visual Studio 2015 não existe opção (ASP.NET Empty Web Site) .. como fazer?
KingRider de
Eu estava fazendo tudo isso, exceto clicando no botão Criar diretório virtual. Fazer isso tornou o diferente; agora funciona. Mas por que isso é necessário?
Rod
Bem, se você fizer isso, você não estará mais usando o IIS Express, mas sim o IIS local. Então, vá para a guia Web em Propriedades do projeto e edite a porta para o que você precisar.
VladT
68

Este é um método mais manual que funciona tanto para projetos de sites quanto para projetos de aplicativos da Web . (você não pode alterar a URL do projeto de dentro do Visual Studio para projetos de site).

Projetos de aplicativos da web

  1. No Solution Explorer, clique com o botão direito no projeto e clique em Unload Project .

  2. Navegue até o arquivo IIS Express ApplicationHost.config . Por padrão, este arquivo está localizado em:

    %userprofile%\Documents\IISExpress\config

    Em versões recentes do Visual Studio e projetos de aplicativos da Web, este arquivo está na pasta da solução em [Solution Dir]\.vs\config\applicationhost.config(observe que a pasta .vs é um item oculto)

  3. Abra o arquivo ApplicationHost.config em um editor de texto. Na <sites>seção, pesquise o nome do seu site. Na <bindings>seção do seu site, você verá um elemento como este:

    <binding protocol="http" bindingInformation="*:56422:localhost" />

    Altere o número da porta (56422 no exemplo acima) para o que quiser. por exemplo:

    <binding protocol="http" bindingInformation="*:44444:localhost" />

    Bônus: você pode até usar um nome de host diferente e fazer coisas legais como:

    <binding protocol="http" bindingInformation="*:80:mysite.dev" />

    e mapeie mysite.devpara 127.0.0.1em seu hostsarquivo e, em seguida, abra seu site em " http://mysite.dev "

  4. No Solution Explorer, clique com o botão direito no projeto e clique em Reload Project .

  5. No Solution Explorer, clique com o botão direito do mouse no projeto e selecione Propriedades.

    • Selecione a guia Web.

    • Na seção Servidores, em Usar servidor Web IIS local, na caixa URL do projeto, insira uma URL que corresponda ao nome do host e à porta que você inseriu no arquivo ApplicationHost.config anterior.

    • À direita da caixa URL do projeto, clique em Criar diretório virtual. Se você vir uma mensagem de sucesso, significa que executou as etapas corretamente.

    • No menu Arquivo, clique em Salvar itens selecionados.

Projetos de site

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no nome do projeto e clique em Remover ou Excluir ; não se preocupe, isso remove o projeto de sua solução, mas não exclui os arquivos correspondentes no disco.

  2. Siga a etapa 2 acima para projetos de aplicativos da web.

  3. No Solution Explorer, clique com botão direito a solução, selecione Adicionar e, em seguida, selecione Existing Web Site ... . Na caixa de diálogo Add Existing Web Site, certifique-se de que a guia Local IIS está selecionada. Em Sites Express do IIS, selecione o site para o qual você alterou o número da porta e clique em OK.

Agora você pode acessar seu site a partir de seu novo nome de host / porta.

Saeb Amini
fonte
1
Impressionante, exatamente o que era necessário. Tive que pescar por um porto que funcionasse, mas funcionou, obrigado.
Hobwell
1
Obrigado Saeb. Isso funciona perfeitamente. Apenas um ponto a ser observado ... Estou usando o controle de origem e depois de adicionar meu projeto de site de volta, tive que ir para Arquivo> Controle de origem> Avançado> Alterar controle de origem e religar meu projeto ao servidor de controle de origem. Isso significou apenas selecionar o projeto na lista e clicar no botão 'Vincular' ao lado de 'Atualizar'. Obrigado pela excelente resposta.
Dirk Strauss
2
Ótima resposta - Em vez de "clicar com o botão direito do mouse no nome do projeto e clicar em Remover ou Excluir", você pode selecionar "descarregar o projeto" e, em seguida, editar novamente o seu applicationhost.config, o meu estava em "<caminho para minha solução (.sln) arquivo> \. vs \ config \ applicationhost.config "(observe que a pasta .vs é um item oculto, então selecione a opção para mostrar arquivos ocultos em seu explorador de arquivos)
Paul Gorbas
1
@PaulGorbas que bom que ajudou você. Observe que você não pode "descarregar" sites , que só funcionam para aplicativos da web.
Saeb Amini
2
Como fazer isso funcionar para uma porta SSL personalizada? Para qualquer porta, exceto 60233, recebo "Esta página não pode ser exibida" no Internet Explorer e mensagens semelhantes em outros navegadores da web. Onde no Windows 7 se designa portas SSL?
MiloDC
18

.Net Core

Pra quem chegou aqui procurando por essa configuração no núcleo .Net ela reside no lauchSettings.json. Basta editar a porta na propriedade "applicationUrl".

O arquivo deve ser semelhante a este:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:53950/", //Here
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "index.html",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      },
    }
  }
}

Ou você pode usar a GUI clicando duas vezes nas "Propriedades" do seu projeto.

Nota: Eu tive que reabrir o VS para fazer funcionar.

fabriciorissetto
fonte
1
Resposta brilhante. Reiniciar o VS funcionou para mim. Aparentemente, o ProductAgentService.exeserviço do BitDefender usa a porta 50151 que entra em conflito com a porta padrão do IIS Express.
silkfire
5
As portas SSL são restritas a 44300-44399. Pode ser bom saber.
FatAlbert
15

Clique com o botão direito no seu projeto MVC. Vá para Propriedades. Vá para a guia Web.
Altere o número da porta no URL do projeto. Exemplo. localhost: 50645
Alterar o número em negrito, 50645, para qualquer outra coisa irá alterar a porta sob a qual o site é executado.
Pressione o botão Criar diretório virtual para concluir o processo.

Consulte também: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

A imagem mostra a guia da web de um projeto MVC insira a descrição da imagem aqui

Ashley Medway
fonte
4

Se você deseja apenas alterar a porta porque ela já está em uso. Siga as etapas a seguir.

No Visual Studio

  1. Clique com o botão direito em Project Node e Unload Project
  2. Clique com o botão direito do mouse em Project Node e em Edit .csproj file.
  3. Procure as seguintes tags e remova-as
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. pressione Ctrl + S para salvar o documento
  2. Clique com o botão direito no nó do projeto e carregue o projeto

Ele funcionará selecionando outra porta aleatoriamente.

Para mais informações. por favor clique

Charlie
fonte
2

Outra correção para quem tem o IIS instalado:

Crie um caminho no servidor IIS e aloque seu site / aplicativo lá.

Vá para as propriedades da solução do explorer, então antes de usar o iisexpress do Visual Studio, faça que vs use seu próprio IIS.

Propriedades da solução

Alex
fonte
2

Você pode primeiro iniciar o IIS Express a partir da linha de comando e fornecer a ele uma porta com / port: port-number veja outras opções .

John Henckel
fonte
2

Se estamos falando de um WebSite, não de um aplicativo da web, meu problema era que a pasta .sln real estava em outro lugar que não o site, e eu não tinha percebido. Procure o caminho .sln e depois a pasta .vs (oculta).

Sentinela
fonte
0

Eu tive o mesmo problema em um projeto WCF em VS2017. Quando eu depuro, ele dá erros como não conseguir obter metadados, mas acontece que a porta foi usada por outro processo. Tive uma ideia a partir daqui e finalmente descobri onde o porto era guardado. Existem 2 locais: 1. C: ... para sua pasta de solução .... vs \ config \ applicationhost.config. Dentro, você pode encontrar o site que depurou. Em, remova o que tem problema de porta. 2. C: ... para a pasta do projeto ... \, você verá um arquivo com ProjectName.csproj.user. Remova este arquivo.

Então, feche a solução, remova o e o arquivo do usuário mencionado acima, a seguir reabra a solução, o VS encontrará outra porta adequada para o site.

Huky
fonte
0

Estou usando o VS 2019.

se sua solução tiver mais de um projeto / biblioteca de classes, etc., você não verá a guia Web ao clicar nas propriedades do explorador de soluções.

Clicar no projeto MVC e verificar as propriedades irá revelar a guia da web onde você pode alterar a porta.

Shaakir
fonte
-2

Edite o arquivo .sln usando um editor como o bloco de notas.

Substitua todas as portas por novas portas.

adicionar em
fonte
Esta é uma solução válida se você estiver usando o estilo antigo do Web Site Project (ou seja, para arquivos ASP Classic) no VS2019. Você deve editar o arquivo de solução porque não há outras páginas de propriedades. Meu projeto se parece com isso no arquivo sln. Projeto ("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "MyWebSitePrj", " localhost: 50194 ", "{BC30BA4B-1D1D-48D0-B1E8-86CBD64611B5}"
Brad Irby
-6

Implante seu aplicativo no IIS com a porta padrão. Tente depurá-lo usando o Visual Studio. É uma boa prática. Se você usar o Visual Studio, ele mudará o número da porta na maior parte do tempo. Portanto, é melhor implantar o aplicativo no IIS primeiro e abrir o mesmo no visual studio e depurá-lo.

Arjunan
fonte
Caro Mark, Acho que você não leu a pergunta com atenção!
Mohit de
1
Além disso, não é uma boa prática desenvolver diretamente no IIS. Este artigo do MSDN explica quando você deve usar IISExpress, IIS ou um servidor externo durante o desenvolvimento. msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx
Itanex