Minha solução atual para renomear a pasta do projeto é:
- Remova o projeto da solução.
- Renomeie a pasta fora do Visual Studio.
- Volte a adicionar o projeto à solução.
Existe uma maneira melhor?
Minha solução atual para renomear a pasta do projeto é:
Existe uma maneira melhor?
Respostas:
Usuários do TFS: se você estiver usando o controle de origem que exige que seja avisado antes de renomear arquivos / pastas, consulte esta resposta, que abrange as etapas extras necessárias.
Para renomear a pasta de um projeto , arquivo ( .*proj
) e nome para exibição no Visual Studio:
.sln
arquivo diretamente em outro editor, como o Notepad ++, e atualize os caminhos lá. (Talvez seja necessário fazer o check-out da solução primeiro no TFS etc.)Nota: Outras soluções sugeridas que envolvem a remoção e a inclusão novamente do projeto na solução quebrarão as referências do projeto.
Se você executar essas etapas, considere também renomear o seguinte para corresponder:
Considere também modificar os valores dos seguintes atributos de montagem :
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
Há outra maneira de fazer isso, usando os arquivos * .sol, * csproj.
Será assim (em relação ao arquivo * .sol):
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"
E basta alterar a primeira parte para o novo diretório, por exemplo:
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
Obviamente, não esqueça de mover o projeto inteiro para esse diretório.
Isso é direto no Visual Studio 2015 (possivelmente funciona em versões mais antigas)
.sln
arquivo no bloco de notas e altere o caminho para o csproj, ou seja, fu\bar.csproj
→ bar\bar.csproj
.Cara, eu lutei com isso. Infelizmente, não há uma solução de um clique no Visual Studio, mas se você estiver executando o Visual Studio 2012 e seu projeto estiver sob controle de origem com o Team Foundation Server , eis como eu consegui fazê-lo funcionar, mantendo o histórico de origem:
(Leia o comentário de @ mjv abaixo, pois ele observa que você pode pular as etapas 5 e 10)
O guia acima funcionou para mim. Se não funcionar, tente excluir completamente sua solução local e remova o mapeamento de pastas no seu espaço de trabalho. Reinicie o Visual Studio apenas por precaução. Verifique se você realmente excluiu toda a solução do seu computador. Agora leia o mapeamento da solução para sua área de trabalho e obtenha a versão mais recente. Agora tente as etapas acima. O mesmo se aplica se algo der errado ao seguir as etapas acima. Basta excluir sua solução localmente e obter a fonte mais recente, e você terá uma lista limpa para trabalhar.
Se você ainda estiver tendo problemas, verifique se não alterou nada manualmente no arquivo de solução ou tente outros 'truques' antes de tentar as etapas acima. Se você alterou alguma coisa e fez o check-in, considere fazer uma reversão ao ponto imediatamente antes de começar a mexer na renomeação do projeto.
Obviamente, você também deseja renomear o projeto em si, no Solution Explorer. Você pode fazer isso antes das etapas acima, mas nesse caso, verifique essa alteração antes de aplicar as etapas acima. Você também pode fazer isso depois, mas certifique-se de seguir todas as etapas acima primeiro e verifique suas alterações antes de tentar renomear o nome do projeto no Solution Explorer. Não recomendo tentar misturar as etapas acima com uma renomeação do nome do projeto no Solution Explorer. Pode funcionar, no entanto, mas eu recomendo fazê-lo em 2 conjuntos de alterações separados.
VS2012
! Observe que você pode evitar as etapas 5 a 10 (ou seja, ter que recuperar as pastas renomeadas no Controle de origem) se, em vez disso, você fechar a solução e renomeá-las em VS' Source Control Explorer
vez de Windows Explorer
.
Folder already exists
. Então, tive que renomear a pasta novamente e, em WE
seguida, alterá-la e, em SCE
seguida, copiar os arquivos para essa pasta, antes que funcionasse. Então siga o comentário do mjv acima. Também não pensei em alterar os nomes dos arquivos do projeto (não apenas no VS), o que fiz como uma reflexão tardia, fazendo-me repetir algumas dessas etapas.
Atualmente não. Bem, na verdade você pode clicar no nó do projeto quebrado e, no painel de propriedades, procurar a propriedade 'Path', clicar no pequeno ícone de navegação e selecionar o novo caminho.
Voilà :)
A solução mais simples é a seguinte:
Existem quatro etapas necessárias, mas sete recomendadas. No final do dia, embora o projeto seja renomeado completamente. Tecnicamente, o nome da pasta do projeto não precisa corresponder ao próprio projeto; portanto, mesmo essa etapa é opcional, mas pode ser confusa se não corresponderem. O mesmo para os nomes de montagem e espaço para nome.
Na resposta de andersjanmyr , é mais fácil renomear o projeto primeiro.
Além disso, após a execução dessas etapas, convém renomear outras referências ao nome do projeto antigo.
Nas propriedades do projeto, atualize o Nome da Montagem e o Espaço para Nome Padrão.
Isso atualizará o seguinte no arquivo do projeto ...
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
... e se livrar do erro "O espaço para nome não corresponde ao local do arquivo, deve ser: 'SomeProjectName'"
Renomeie seu espaço para nome raiz (se você tiver o ReSharper, clique com o botão direito do mouse no espaço para nome e vá em Refatorar -> Renomear).
Altere todas as ocorrências do nome do projeto antigo em AssemblyInfo.cs .
Para o Visual Studio 2017, você pode usar minha extensão do Visual Studio:
Renomeará o projeto em:
[assembly: InternalsVisibleTo("MyTests")]
. Quando eu renomeei MyTests
, ele não renomeou essa referência. Novamente, não acho que isso se enquadre em seu alcance e é fácil de resolver manualmente.
Eu só tinha que fazer isso sozinho (usando o Visual Studio 2010). Como algumas pessoas responderam, o passo mais simples parece ser:
Para aqueles que usam o Visual Studio + Git e desejam manter o histórico do arquivo (funciona renomeando projetos e / ou soluções):
Feche o Visual Studio
No arquivo .gitignore, duplique todos os caminhos de ignorados do projeto que você deseja renomear com versões renomeadas desses caminhos.
Use o comando Git move assim:
git mv <old_folder_name> <new_folder_name>
Consulte a documentação para obter opções adicionais: https://git-scm.com/docs/git-mv
No seu arquivo .sln: encontre a linha que define seu projeto e altere o nome da pasta no caminho. A linha deve ser algo como:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
Abra o Visual Studio e clique com o botão direito do mouse em projeto → Renomear
Depois, renomeie os espaços para nome.
Eu li que o ReSharper tem algumas opções para isso. Mas a simples localização / substituição fez o trabalho para mim.
Remova os caminhos .gitignore antigos.
Veja o item 3 no artigo vinculado .
Funcionou para mim.
O que funcionou para mim no Visual Studio 2017:
Dizia algo como " re-adicionar projeto ". Eu reconstruí tudo e tudo estava bom para ir.
Dependencies
>> Add reference
>> Selecione seu novo projeto )
Eu tive que fazer isso muitas vezes. É realmente útil poder redirecionar um projeto existente, mas renomear texto em espaços para nome, arquivos e pastas (incluindo nomes de arquivo / diretório).
O uso de uma localização e substituição recursiva iniciando na pasta raiz significa que a renomeação não quebra os links para projetos nos arquivos de solução e nas referências de projeto.
Para esse fim, criei um projeto para fazer exatamente isso. O aplicativo também faz um esforço para ignorar pastas de controle de versão, como .git, .svn e o arquivo de configurações .vs. Mais informações estão no README.
Uma solução comprovada para a extensão do Visual Studio para o Data Tools for Business Intelligence (SSDT-BI 2013):
Foi testado 100% e funcionou perfeitamente no meu caso.
NOTA: Não posso confirmar se funciona em diferentes modelos de projeto e em outras versões do Visual Studio. Como sempre, faça backup de tudo com antecedência.
Eu escrevi uma pequena ferramenta que automatiza todas essas etapas. Ele também suporta o Subversion por enquanto.
Informações sobre versões atuais podem ser encontradas em Informações sobre o Renamer do Projeto Visual Studio .
Agora, as versões mais recentes podem ser baixadas na Página de Download do Renamer do Projeto Visual Studio .
O feedback é muito apreciado.
Eu sempre tive o mesmo problema de renomear um projeto no Visual Studio e editar o nome da pasta, o nome do projeto e o arquivo .sln para fazer isso. Acabei de escrever um VBScript script que realiza tudo isso. Você precisa ter cuidado com as cadeias que escolher para substituir.
Você só precisa colocar o arquivo .vbs no mesmo diretório que o arquivo .sln da solução.
' Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"
Const ForReading = 1
Const ForWriting = 2
Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)
' Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close
' Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"
' Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject
Nota : Essa correção é para o Visual Studio 2008, mas deve funcionar aqui.
.sln
arquivo localizado na pasta pai..sln
arquivo. Clique em Yes..sln
arquivo tem o mesmo nome que a pasta. Não é necessário, mas mantém a consistência.)Feito.
Ao usar o TFS, a etapa 2 é realmente renomear a pasta no controle de origem e obter as últimas antes de reabrir a solução.
Recentemente, carregamos uma versão beta de uma extensão gratuita do Visual Studio que faz essas coisas para você.
Dê uma olhada na Galeria do Visual Studio: Download da Galeria
Abra .sln em um editor de texto e, na linha a seguir, altere <FolderName> para o novo nome da pasta Projeto ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\ .csproj", " {021CC6B0-8CFB-4194-A103-C19AF869D965} "
Depois de alterar o nome da pasta, abra o arquivo .sln no bloco de notas e altere o caminho para o novo caminho.
Problemas semelhantes surgem quando um novo projeto deve ser criado e você deseja um nome de pasta de projeto diferente do nome do projeto.
Quando você cria um novo projeto, ele é armazenado em
./path/to/pro/ject/YourProject/YourProject.**proj
Vamos supor que você queira tê-lo diretamente na ject
pasta:
./path/to/pro/ject/YourProject.**proj
Minha solução alternativa para fazer isso é criar o projeto com a última parte do caminho como seu nome, para que ele não crie um diretório adicional:
./path/to/pro/ject/ject.**proj
Ao renomear o projeto agora no Visual Studio, você atinge o objetivo sem precisar sair do Visual Studio:
./path/to/pro/ject/YourProject.**proj
A desvantagem dessa abordagem é que você precisa ajustar o espaço para nome padrão e o nome do binário de saída e atualizar os espaços para nome em todos os arquivos incluídos no modelo de projeto.
Eu uso o Visual Studio 2013 e o TFS 2013.
Eu fiz assim:
Há uma abordagem mais simples que foi testada no Visual Studio 2013 Update 1 e aplicável a projetos conectados ao TFS:
A maneira mais simples é acessar a propriedade da janela, alterar o nome dos espaços para nome padrão e a renomeação.
Eu fiz o seguinte:
<Crie um backup de toda a pasta>
Renomeie o projeto no Visual Studio 2013 (opcional / não necessário).
Exporte o projeto como um modelo.
Feche a solução.
Reabra a solução
Crie um projeto a partir do modelo salvo e use o nome que você gosta.
Exclua do gerenciador de soluções o projeto anterior.
Nesse ponto, tentei compilar a nova solução e, para fazer isso, tive que copiar manualmente alguns recursos e cabeçalhos para a nova pasta do projeto da pasta antiga do projeto. Faça isso até compilar sem erros. Agora, esse novo projeto salvou o arquivo ".exe" na pasta anterior. *
Então ->
Vá para o Windows Explorer e copie manualmente o arquivo da solução da pasta antiga do projeto para a nova pasta do projeto.
Feche a solução e abra-a de dentro do novo projeto.
Alterou a configuração de volta para (x64), se necessário.
Exclua a pasta do projeto com o nome antigo da pasta da solução.