Se eu tiver alguns arquivos que deseja copiar do meu projeto para a .\bin\debug\
pasta na compilação, parece que tenho que colocá-los na raiz do projeto. Colocá-los em uma subpasta parece copiá-los para a .\bin\debug\
pasta na mesma estrutura em que estão armazenados.
Existe alguma maneira de evitar isso?
Só para ficar claro: se eu tiver um MyFirstConfigFile.txt
e MySecondConfigFile.txt
em uma ConfigFiles
pasta e definir sua cópia para saída como cópia ... , eles aparecerão na .\bin\debug\ConfigFiles\
pasta. Eu quero que eles apareçam na .\bin\debug\
pasta.
fonte
copy "$(ProjectDir)subfolder_name\"* "$(ProjectDir)$(OutDir)"
$(OutDir)
(ou seja, sem$(ProjectDir)
) parece ... senão você obterá erros de caminho duploVocê pode usar uma tarefa MSBuild em seu csproj, assim.
Edite seu arquivo csproj
fonte
Você também pode colocar os arquivos ou links na raiz do gerenciador de soluções e definir as propriedades dos arquivos:
Build action = Content
e
Copy to Output Directory = Copy if newer
(por exemplo)Para obter um link, arraste o arquivo do Windows Explorer para o Solution Explorer, mantendo pressionadas as teclas shift e control.
fonte
copiar de subpasta para subpasta
fonte
Pessoalmente, prefiro assim.
Modifique o
.csproj
para adicionarfonte
Você deseja usar um evento Post-Build em seu projeto. Você pode especificar a saída lá e há valores de macro para coisas usadas com frequência, como caminho do projeto, nome do item, etc.
fonte
Você pode usar o evento PostBuild do projeto. Após a conclusão da compilação, você pode executar um arquivo em lote do DOS e copiar os arquivos desejados para a pasta desejada.
fonte
Eu encontrei esta pergunta procurando por "copiar arquivos para a pasta do aplicativo em tempo de compilação". OP parece já ter isso classificado, mas se você não fizer isso:
No Visual Studio, clique com o botão direito do mouse no arquivo, selecione as propriedades e altere a opção 'copiar para saída' para 'sempre'. Consulte http://msdn.microsoft.com/en-us/library/0c6xyb66.aspx
fonte