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

Visual Studio中Asp.NET Web Forms发布时Roslyn生成exe改dll方案咨询

解决Asp.NET Web Forms发布后Roslyn文件夹生成.exe文件的问题

针对你遇到的Roslyn文件夹下生成.exe文件导致托管服务商不接受的问题,可尝试以下几种解决方案:

1. 移除Roslyn相关NuGet包

Roslyn的.exe文件来自Microsoft.CodeDom.Providers.DotNetCompilerPlatform这个NuGet包,它会在发布时将Roslyn编译器工具打包到项目中。你可以直接卸载该包:

  • 在NuGet包管理器控制台执行:
    Uninstall-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
    

卸载后,项目会自动回退到使用传统的CodeDom编译器,发布时将不再生成Roslyn文件夹及其中的.exe文件。

2. 修改发布配置禁用Roslyn编译

如果需要保留Roslyn的部分功能但不想生成.exe文件,可在发布配置中添加禁用选项:

  • 打开项目的发布配置文件(*.pubxml,位于Properties\PublishProfiles目录下),在<PropertyGroup>节点内添加:
    <UseRoslynCompiler>False</UseRoslynCompiler>
    
  • 保存配置后重新发布项目。

3. 检查并修改项目文件(.csproj)配置

手动打开项目的.csproj文件,查找并调整以下相关配置:

  • 删除包含DotNetCompilerPlatformVersion的节点
  • 添加<UseRoslynCompiler>False</UseRoslynCompiler>到<PropertyGroup>节点中

4. 清理并重新发布

  • 执行清理解决方案操作,清除旧的编译缓存文件
  • 重新生成项目,再执行发布流程,确保所有旧的Roslyn相关文件被彻底移除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:35:06