首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heroku:如何减少.NET核心/角度应用程序的大小?

Heroku:如何减少.NET核心/角度应用程序的大小?
EN

Stack Overflow用户
提问于 2018-09-13 14:18:03
回答 2查看 316关注 0票数 1

我收到Heroku的警告说我的鼻涕虫太大了:

代码语言:javascript
复制
-----> Compressing...
   Done: 304.9M
-----> Launching...
 !     Warning: Your slug size exceeds our soft limit (304 MB) which may affect boot time.

我怎么才能缩小我的鼻涕虫大小?它是一个.NET核心2.1.401和角6应用程序,所以我使用以下构建包:

运行heroku run "du . -h --max-depth=3 --threshold=1M"将产生以下结果:

代码语言:javascript
复制
2.5M    ./App/obj
524M    ./App/ClientApp/node_modules
16M     ./App/ClientApp/dist
9.4M    ./App/ClientApp/src
549M    ./App/ClientApp
2.5M    ./App/bin/Release
3.3M    ./App/bin
556M    ./App
16M     ./heroku_output/ClientApp/dist
16M     ./heroku_output/ClientApp
130M    ./heroku_output
189M    ./.heroku/dotnet/sdk
140M    ./.heroku/dotnet/shared
329M    ./.heroku/dotnet
27M     ./.heroku/node/lib
3.0M    ./.heroku/node/include
34M     ./.heroku/node/bin
63M     ./.heroku/node
391M    ./.heroku
11M     ./.apt/usr/lib
3.3M    ./.apt/usr/include
15M     ./.apt/usr
15M     ./.apt
1.1G    .

体积为node_modules/ (524M)、./heroku/dotnet/ (329 M)和./heroku_output (130 M)。

我不认为我可以使用.slugignore文件,因为构建过程需要node_modules文件夹,所以我尝试在dotnet publish之后删除node_modules/文件夹,在应用程序的.csproj中使用这个条目,但它并没有减少段塞大小。

代码语言:javascript
复制
<Target Name="CleanupNodeModules" AfterTargets="Publish">
  <Exec WorkingDirectory="$(SpaRoot)" Command="rm -rf node_modules" Condition=" '$(OS)' != 'Windows_NT' " ConsoleToMSBuild="true" />
</Target>

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-13 17:12:28

我创建了一个拉请求来构建.NET核心项目,作为一个独立的exe,然后删除.NET Core。

这样,我从304 to的子弹大小传递到149 to的子弹大小!

看来node_modules没有效果..。

票数 0
EN

Stack Overflow用户

发布于 2018-12-12 07:36:12

您可能希望使用IL连杆来进一步缩小.NET核心输出的大小。本质上,它将检查未使用的依赖项,并删除那些具有不可访问代码的类库。在macOS和Windows中,我看到在自带的macOS核心控制台应用程序上,尺寸减少了30-50%。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52315719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档