提示
在继续前,希望您具备一些基本的 MSBuild 相关知识,
因为本文不会解释 MSBuild 基本知识。
什么是 AppHost
想要运行一个 .Net 程序集,除了程序集中需要有一个 Main 方法以外,
还需要一个承载 .Net 程序集的应用程序主机(Application Host 简称 App Host)。
它通常是一个 native 的可执行程序,由 .Net 团队提供,
但也可以自己创建一个AppHost
大约 3 分钟
提示
在继续前,希望您具备一些基本的 MSBuild 相关知识,
因为本文不会解释 MSBuild 基本知识。
想要运行一个 .Net 程序集,除了程序集中需要有一个 Main 方法以外,
还需要一个承载 .Net 程序集的应用程序主机(Application Host 简称 App Host)。
它通常是一个 native 的可执行程序,由 .Net 团队提供,
但也可以自己创建一个AppHost
提示
在继续前,希望您具备一些基本的 MSBuild 相关知识,
因为本文不会解释 MSBuild 基本知识。
通过分析 .Net SDK 的代码可知, AppHost 是由一个叫做 _CreateAppHost 的 Target 创建的。
Target _CreateAppHost 会在通常是 obj 文件夹下创建一个名为 apphost[.exe] 的文件。
Target _ComputeNETCoreBuildOutputFiles 会负责将 apphost[.exe] 移动至输出文件夹。