我的项目是.NET框架4.8,该项目是SDK风格的. web. connect是为ASP.NET Web应用程序(基本上是MVVC)创建的基本配置. 我创建了一个发布到文件夹的发布配置文件.
当我发布项目时,发布文件夹中的web. connect现在具有.NET Core条目.具体来说,该过程添加了以下内容:
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\myApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
我很难相信这正在发生(而不是我所做的事情的结果),所以我通过以下步骤复制了它:
- 创建新的ASP.NET Web应用程序(.NET框架)-在对话框中 Select MVP
- 右键单击项目并 Select 升级. Select 将其升级为SDK风格项目
- 修复缺失的任何参考资料.从控制台将项目类型更改为库.
- 右键单击项目, Select "发布"并创建文件夹发布配置文件.
- 发布它.将已发布的目录中的web. connect与项目中的web. connect进行比较. 已发布的包含.NET Core条目.
为什么会发生这种情况? 如何防止这种情况发生? 如果项目不是SDK风格,则不会发生这种情况.
P.S.使用最新的Visual Studio 2022.