Suponha que você tenha uma pasta de construção para todos os seus arquivos js. Essa pasta não faz parte da solução porque é gerada por meio de algum executor de tarefas (grunt / gulp), mas você deseja publicá-la.
Acesse YourProject.csproj e edite o arquivo.
Dentro do primeiro nó PropertyGroup, adicione esta tag no final:
(dont add this)<PropertyGroup>
--content ommited--
<CopyAllFilesToSingleFolderForPackageDependsOn>
JSCustomCollectFiles; $(CopyAllFilesToSingleFolderForPackageDependsOn); </CopyAllFilesToSingleFolderForPackageDependsOn>
(dont add this)</PropertyGroup>
Em seguida, pesquise <Target Name = “MvcBuildViews” e adicione este nó Target após o nó MvcBuildViews.
(dont add this)<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
<Target Name="JSCustomCollectFiles">
<ItemGroup>
<_CustomFilesJS Include=".scriptsbuild***" />
<FilesForPackagingFromProject Include="% (_CustomFilesJS.Identity)">
<DestinationRelativePath>scriptsbuild% (RecursiveDir)%(Filename)%(Extension) </DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
Você pode fazer o mesmo para uma pasta de construção CSS criando um CSSCustomCollectFiles seguindo as etapas acima.