Um método alternativo é apenas deixar os itens como tipo None
. No explorador de soluções, clique naqueles que deseja implantar e defina a Content
propriedade como True
.
Nota: Eu fiz isso no VS2019, e as coisas podem mudar de versão para versão.
Para fazer isso funcionar, agora clique com o botão direito em seu projeto e selecione "Descarregar projeto". Em seguida, clique com o botão direito do mouse no projeto descarregado e selecione "Editar project_name.vcxproj".
No editor, vá até o final do arquivo e insira este destino logo antes da </Project>
tag final :
<Target Name="CopyContent" AfterTargets="Build">
<Copy SourceFiles="@(None)" Condition="'%(None.DeploymentContent)' == 'true'" DestinationFolder="$(OutputPath)" ContinueOnError="true" />
</Target>
Agora, clique com o botão direito no projeto descarregado e selecione "Recarregar Projeto". Selecione para salvar e fechar se for solicitado.
Eu também defino o OutputDirectory
para:
$(SolutionDir)bin\$(Configuration)\$(Platform)\
e IntermediateDirectory
para:
$(SolutionDir)obj\$(Configuration)\$(ProjectName)\$(Platform)\
na página Geral de Propriedades do Projeto. Isso coloca a saída em uma pasta "bin" e os intermediários em uma pasta "obj" na raiz de sua solução.
Nota: O $(SolutionDir)
não é definido quando você executa o MSBuild a partir da linha de comando. Há um truque que você pode usar para definir isso para a pasta onde o arquivo .sln reside usando GetDirectoryNameOfFileAbove. (deixado como um exercício para o leitor). Além disso, parece que em 2019 eles estão lidando com isso corretamente na linha de comando. Sim :) O $(SolutionDir)
contém uma barra invertida final, portanto, nenhuma depois dele. Os resultados de cada um devem ter uma barra invertida no final.
Agora, se você possui o Pro ou superior, não faça isso sempre que precisar criar um projeto. Isso seria coxo. Em vez disso, depois de configurar o projeto do jeito que você gosta, selecione Project -> Export Template
. Você dá um nome a ele e, da próxima vez que quiser criar um projeto como aquele, basta escolher esse nome na caixa de diálogo Novo projeto. (Na versão mais antiga, acho que era Files -> Export Teamplate...
.)