迁移ASP.NET MVC VB.NET项目至SDK样式后缺失发布目标求助
SDK样式.NET Framework 4.8 ASP.NET项目发布配置缺失问题
背景操作
- 使用Visual Studio 2022 17.14.21版本,通过「Upgrade Assistant」将基于.NET Framework 4.8的VB.NET ASP.NET项目升级为SDK样式项目
- 保留原SDK
Microsoft.NET.Sdk.Web时,MSBuild会自动添加「IIS Express AspNetCore Module」导致IIS Express运行失败,因此手动将项目文件开头修改为<Project Sdk="MSBuild.SDK.SystemWeb/4.0.106">
当前问题
- 升级后的项目可正常通过IIS Express构建并运行,但发布功能异常:旧项目的.pubxml发布配置文件无法显示;新增发布配置时,仅能看到Azure、Docker Container Registry、Folder三个发布目标,缺失FTP/FTPs server、Web Server (IIS)、Import Profile选项
- 同一机器上的VS2022中,ASP.NET Core项目可显示全部6个发布目标,排除机器或VS本身的问题
- 若恢复原SDK设置
Microsoft.NET.Sdk.Web,发布对话框为旧样式且能正常使用旧发布配置,但无法通过IIS Express调试项目,报错:Unable to run your project. The 'RunCommand' property is not defined
需求
需要解决Web Deploy发布至IIS的问题,可通过让现有.pubxml文件生效,或为SDK样式项目创建Web Server (IIS)的新发布配置实现。
当前项目文件片段
<Project Sdk="MSBuild.SDK.SystemWeb/4.0.106"> <PropertyGroup> <OutputType>Library</OutputType> <TargetFramework>net48</TargetFramework> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> <Platforms>AnyCPU;x64</Platforms> </PropertyGroup> ... </Project>
内容的提问来源于stack exchange,提问作者sevzas
相关产品推荐
相关产品推荐

