.net - 在 .NET 4.71 项目中发布 Angular 应用程序
问题描述
我正在开发一个带有集成 Angular 应用程序的遗留 ASP.NET 项目,该应用程序的结构与常规 ASP.NET Core Angular 模板(ClientApp 文件夹、Program.cs 和 Startup.cs 文件等)基本相同,除了事实上,它的目标是 .NET Framework 4.71 而不是 .NET Core。该项目是通过运行 docker 命令部署的,这些命令最终调用 dotnet publish 并附加调用 npm install、npm run build、CP 以复制新生成的文件等。
我一直在徘徊,只保留 dotnet 命令行并处理 csproj 文件中的后续操作。经过长时间的搜索,我发现的所有文档案例都使用了以下目标(或类似目标):
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build" />
<!-- Include the newly-built files in the publish output -->
<ItemGroup>
<DistFiles Include="$(SpaRoot)build\**" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
这里的问题是“ComputeFilesToPublish”目标似乎在 .NET 4.71 中不可用,因此永远不会触发“PublishRunWebpack”。现在我的问题是:如何在 .NET 4.71 上获得相同的结果?有什么办法还是我只是在浪费时间?
解决方案
推荐阅读
- reactjs - React 组件:模拟标准 HTMLAPI
- linux - Qt 使应用程序在 Weston/Wayland 平台上始终处于顶部
- javascript - 如何仅将那些道具传递给基于开关决定组件的组件
- python-3.x - asyncio 中的事件循环溢出。虽然一次添加 4 次执行,但它正在重载
- css - CSS 规则覆盖背景颜色的自定义规则
- ios - 在 iOS 应用程序中使用加密货币购买数字内容
- android - FrameLayout 的 Fragment 的 NestedScrollView 不滚动问题
- perforce - Perforce 无法编辑文件,因为它说它已经打开,但是“p4 已打开”会报告其他情况
- java - 创建一个运行预定义代码块的快捷方式/宏?
- java - 将 json 转换为 Java 对象 - 属性设置为 Null