Subversion e usando IIS para o desenvolvimento ASP.NET

votos
1

Eu sou um novato total para SVN e não ter sido capaz de encontrar uma resposta para a seguinte situação.

Eu tenho um aplicativo web 2.0 ASP .NET que estou desenvolvendo. Eu estou usando o meu IIS local como o servidor de desenvolvimento web (ou seja, não o servidor de desenvolvimento Visual Studio web). Meu ambiente de desenvolvimento é VS2005, Vista, IIS7, TortoiseSVN / AnkhSVN. VisualSVN é instalado no servidor.

Meus arquivos .sln e bibliotecas de classes, etc. estão localizados no ** pasta C: ** \ Localsource \ Projects \ ProjectName, e meus ficheiros.aspx estão no meu ** pasta C: \ inetpub \ wwwroot \ ProjectName **.

Posso configurar o repositório para ** C: \ Localsource \ Projects \ ProjectName ** bom, mas não consigo pensar em uma maneira de configurá-lo para a pasta IIS bem no mesmo repositório.

Qual é a melhor maneira para lidar com esse ambiente de desenvolvimento no SVN?

Muito Obrigado,

Formiga

Publicado 09/12/2008 em 15:46
fonte usuário
Em outras línguas...                            


7 respostas

votos
4

Em uma solução no Visual Studio você pode ter um projeto de biblioteca de classe que normalmente é em um diretório sob o arquivo .sln.

Neste caso, ele também tem um projeto web dentro da solução, mas não debaixo da ficheiro.SLN na estrutura de diretórios de arquivos.

Ele será anexar a este projeto via HTTP não via caminho de arquivo local.

IIS irá gerenciar isso como http: // localhost / webapp e, por padrão vai colocá-lo em c: \ inetpub \ wwwroot \ webapp. Os arquivos na pasta webapp não será no repo como eles não estão na hierarquia da solução e a biblioteca de classes. Esta é a pergunta como resolver o problema.

Minha resposta é mover http: // localhost / webapp para apontar para uma pasta que está sob o arquivo .sln e ao lado do diretório da biblioteca de classe, em seguida, tudo o que pode ir no repo.

Separando a biblioteca de classes eo webapp é a melhor prática para auxiliar reutilização de código e dissociando a lógica do web site.

Respondeu 09/12/2008 em 17:09
fonte usuário

votos
2

Você não pode apenas apontar o IIS para C: \ Localsource \ Projects \ ProjectName e definir as permissões?

Respondeu 09/12/2008 em 15:55
fonte usuário

votos
0

Roubar,

Por que você considera um aspx apresentar uma saída da base de código?

É parte da base de código. Não é uma saída após a compilação, por exemplo.

Só queria saber?

Respondeu 09/12/2008 em 22:50
fonte usuário

votos
0

Eu acho que você pode querer separar isso em dois problemas, seguindo esta recomendação de Dillorscroft.

Em primeiro lugar, no que diz respeito ao material em seu servidor de desenvolvimento que é publicado no site de produção, eu acho que você precisa de controle de versão para isso. Em primeiro lugar para que você possa reverter qualquer página, e você também pode decidir quando você tem um nível estável do desenvolvimento local que você deseja extrair a produção. (Gostaria de obter que a partir do sistema de controle de origem em uma imagem do local e, em seguida, sincronizar a imagem com o local de produção.)

Então, pela primeira vez, estamos a falar de versionamento as páginas da web e todo o material do lado do servidor personalizado que suporta o web site.

Em segundo lugar, no que toca ao desenvolvimento de componentes que são utilizados no site, eles precisam de seus próprios projetos de desenvolvimento, uma vez que é o resultado que vai para o site de desenvolvimento, nem todos a fonte, bibliotecas, etc. que o componente é construído com. Portanto, estas terão sua própria árvore de desenvolvimento do projeto (pense nisso como se você está construindo uma biblioteca que está a ser utilizado por outros projetos de desenvolvimento, embora neste caso os outros projetos são páginas da web). Então a única coisa que deve aparecer no IIS é o componente "implantado" para o desenvolvimento local.

Parece haver três questões críticas para você:

  1. Como o desenvolvimento de testes que precisam ir contra o web site é tratado e onde que é a versão controlada (assumindo que eles não pertencem na web site em si)

  2. Como facilmente se pode arranjar para ter certeza de que todo o conteúdo do web site de desenvolvimento é mantida sob controle de versão e check-in e Check-out adequadamente. (Isso tem a ver com as ferramentas que você usa para editar páginas da web e outro lamaçal do lado do servidor que não sejam componentes desenvolvidos para o lado.)

  3. levando facilmente componentes desenvolvidos a partir dos projectos que os produzem para o desenvolvimento local e tê-los ser o check-in lá.

Minha solução para (2) e ao controle de versão do desenvolvimento do Web site é usar Fonte integração Visual Seguro com extensões do FrontPage que coloca o local sob controle de versão IIS e. Componentes produzidos a partir de outros projetos de desenvolvimento são mapeados para o projeto de servidor de partilha de VSS.

Para SVN, eu especular que (1) que deseja ver se há um adaptador SVN que o IIS irá reconhecer como um sistema de controle de fonte externa e, de qualquer forma, (2) ter uma disciplina que faz a entrega de componentes de seus projetos de construção para o projecto global web site.

Respondeu 09/12/2008 em 17:32
fonte usuário

votos
0

A pasta IIS não é a saída da base de código é parte da aplicação. Não é a saída CGI ou qualquer coisa, mas na verdade os scripts para executar o app!

Este é o páginas.ASPX que terão controles de usuário e HTML para realmente executar o aplicativo. Sua parte do applciation mas se separou da solução VS Studio.

A maneira mais fácil é ter uma solução e, em seguida, C: \ Localsource \ Projects \ ProjectName \ SITE.

Ponto IIS em que pasta também.

Respondeu 09/12/2008 em 16:49
fonte usuário

votos
0

OK, eu posso ser ser estúpido aqui, mas .. Por que você precisa para adicionar a pasta IIS (ou seja, a saída da base de código) para o seu repositório?

Atualizar

Eu acho que deveria esclarecer isso um pouco mais .. O que eu quero dizer é que eu não sou certo porque o ASPX é separado do projeto de qualquer maneira? O que está errado com um projeto Web e n Classe projetos de biblioteca em uma solução, adicionado ao seu repositório .. Você, então, publicar em cada nova versão ..

Se é simplesmente um caso de " talvez seja mais fácil para reverter a saída publicado ", então que assim seja, eu estava apenas curioso como eu não vi muitas pessoas realmente funciona dessa maneira.

Implantação de soluções em esta estrutura seria muito mais fácil, bem ..

Respondeu 09/12/2008 em 16:19
fonte usuário

votos
0

Hmmm - Bom ponto. Foi criada assim quando eu cheguei aqui, e Visual Studio sempre cria sites na pasta wwwroot, então eu assumi wwwroot foi exatamente onde eles tiveram que ir.

Talvez eu vou ter que pensar em fazer um pouco de reorganização ...

Obrigado!

Respondeu 09/12/2008 em 16:10
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more