我们需要包括项目中未包含的其他文件,因为它们是由webpack由不同的前端项目生成的。
我已关注本文(https://tedgustaf.com/blog/2011/customize-an-aspnet-project-to-control-which-files-are-included-when-publishing-or-deploying/),当我发布时,它在VS 2019上在本地运行良好,但不适用于Azure DevOps Build。
有人可以告诉我我所缺少的吗?
更新-19/05/11
下面是我的源代码的文件夹结构
SolutionName
.... WebSite
.... FrontEnd
.... Dataaccess
我们运行webpack的“ npm build prod”,并在FrontEnd项目中生成缩小的css和js,并将其复制到WebSite中的dist文件夹,还将其他scss文件复制到网站项目。
webpack复制文件代码段
new CopyWebpackPlugin([
{ from: 'assets/images',to: 'assets/images' },{ from: 'assets/icons',to: 'assets/icons' },{ from: 'src/sass',to: '../theme-src/sass' },{ from: 'node_modules/bootstrap/scss',to: '../node_modules/bootstrap/scss' },{ from: 'node_modules/font-awesome/scss',to: '../node_modules/font-awesome/scss' },{ from: 'node_modules/font-awesome/fonts',to: '../node_modules/font-awesome/fonts' },
Website.csproj复制文件以进行发布。
<Import Project="$(MSBuildExtensionsPath32)\microsoft\VisualStudio\v10.0\WebApplications\microsoft.WebApplication.targets" Condition="false" />
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
<Target Name="CustomCollectFiles">
<!-- Copy minified JavaScript & Css files -->
<ItemGroup>
<DistFolderFiles Include="dist\**\*.*" />
<FilesForPackagingFromProject Include="%(DistFolderFiles.Identity)">
<DestinationRelativePath>dist\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
<!-- Copy Sass files for themeing -->
<ItemGroup>
<ThemeSrcFolderFiles Include="theme-src\**\*.*" />
<FilesForPackagingFromProject Include="%(ThemeSrcFolderFiles.Identity)">
<DestinationRelativePath>theme-src\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
<!-- Copy Sass files for themeing dependency -->
<ItemGroup>
<NodeModulesFolderFiles Include="node_modules\**\*.*" />
<FilesForPackagingFromProject Include="%(NodeModulesFolderFiles.Identity)">
<DestinationRelativePath>node_modules\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>