У меня есть приложение ASP. NET 4.6, на котором размещается React. Весь опубликованный контент переходит в wwwroot с шагом MsBuild, как показано ниже:
<Target Name="BeforeBuild">
<!-- Call npm build -->
<Exec Condition="$(Configuration) == 'Release'" Command="npm install" WorkingDirectory="ClientApp">
</Exec>
<Exec Condition="$(Configuration) == 'Release'" Command="npm run build" WorkingDirectory="ClientApp">
</Exec>
<Exec Condition="$(Configuration) == 'Release'" Command="xcopy.exe $(SourceDirectory) $(DestinationDirectory) /Y /E">
</Exec>
</Target>
Проблема, с которой я сталкиваюсь, заключается в том, что я публикую sh через Azure DevOps. Внутри проекта я включил это ItemGroup
:
</ItemGroup>
<Content Include="Views\_ViewStart.cshtml" />
<Content Include="Views\Home\Index.cshtml" />
<Content Include="Views\Shared\Error.cshtml" />
<Content Include="Views\Shared\_Layout.cshtml" />
<Content Include="wwwroot\**\*" CopyToPublishDirectory="Always" />
</ItemGroup>
Когда я строю в режиме выпуска, я вижу содержимое, доступное внутри wwwroot, предоставляемое Webpack, но когда веб-сайт публикуется, папка wwwroot есть, но пустая. Конечно, я не могу добавить файлы в решение, потому что webpack производит динамическое содержимое c, поэтому я должен использовать <Content Include="wwwroot\**\*" CopyToPublishDirectory="Always" />