Как сказал @cyptus, вы можете использовать задачи MsBuild. Например, вы можете добавить задачу, которая будет копировать содержимое wwwroot куда угодно после каждой сборки. Для этого добавьте задачу пост-сборки в конце вашей Apprunner.csproj .
<Target Name="CopyWwwroot" AfterTargets="Build">
<ItemGroup>
<CopyItems Include="$(SolutionDir)\Apprunner\wwwroot\**\*.*" />
</ItemGroup>
<Copy
SourceFiles="@(CopyItems)"
DestinationFolder="..\Tests\bin\$(Configuration)\$(TargetFramework)\wwwroot\%(RecursiveDir)"
SkipUnchangedFiles="false"
OverwriteReadOnlyFiles="true"
Retries="3"
RetryDelayMilliseconds="300"/>
</Target>
$ (Конфигурация) - текущая конфигурация, например, отладка или выпуск
$ (TargetFramework) - это фреймворк, который вы строите в своем сценарии netcoreapp2.1
Если вы действительно хотите, вы можете жестко закодировать эти значения. Вы можете прочитать больше о задаче копирования в документах https://docs.microsoft.com/en-us/visualstudio/msbuild/copy-task?view=vs-2019
Также имейте в виду, что вы можете установить условие для цели, например, для копирования, только если вы создаете версию.