You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在禁止上传.exe文件的共享主机上发布ASP.NET Core应用

ASP.NET Core 发布不生成.exe可执行文件解决方案

你之前了解的传统ASP.NET中「取消允许预编译站点可更新」的选项是.NET Framework框架下项目的专属配置逻辑,ASP.NET Core的编译发布体系已完全重构,没有对应UI勾选项,可通过以下两种方式实现需求:

方法1:Visual Studio 2019可视化发布配置

  • 右键你的Razor Page项目,选择「发布」选项
  • 首次发布先选择目标为「文件夹」,完成基础配置创建
  • 点击发布配置页的「显示所有设置」,打开参数设置弹窗
  • 「部署模式」选择 框架依赖(FDD)
  • 「目标运行时」选择 可移植
  • 取消勾选「生成单个文件」选项(若存在该配置项)
  • 保存配置后重新发布,产物不会生成.exe文件

方法2:修改项目.csproj文件固定配置

如果不想每次发布都调整参数,可直接修改项目配置永久生效。打开项目根目录的.csproj文件,在<PropertyGroup>节点中添加如下两行配置:

<SelfContained>false</SelfContained>
<UseAppHost>false</UseAppHost>

其中UseAppHost设为false会明确禁止编译器生成.exe格式的应用宿主文件,SelfContained设为false对应框架依赖模式,配置保存后所有发布操作都会自动跳过.exe生成。

发布结果校验

重新发布后检查输出文件夹,只会生成.dll程序集、json配置、web.config、静态资源和视图文件,无任何.exe后缀的可执行文件,符合共享主机的安全限制要求。部署时直接将所有产物上传到主机站点目录即可正常运行。

内容的提问来源于stack exchange,提问作者Ankit Jalan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:09:03