Aspnet Core 独立部署的 web.config 缺少文件扩展名

Aspnet Core Self-Contained deploy's web.config missing file extension

我正在使用带有完整框架(4.7,我们有一些我们想要使用的 WCF WS-* 服务)的 Aspnet 核心 (2.1),每当我使用 publish 时,生成的 web.config 不起作用.启动网站(使用 IIS 7.5,在我的 Windows 7 机器上)并尝试从网络浏览器访问它,我得到了经典的 502.5 错误,如果我查看我的事件查看器,我发现一个类似于此的错误:

Application 'MACHINE/WEBROOT/APPHOST/MYWEBSITE' with physical root 'C:\inetpub\MyWebSite\' failed to start process with commandline '.\MyWebSite ', ErrorCode = '0x80070002 : 0.

因为我知道 8007002 通常是找不到文件的错误,所以我决定查看生成的 web.config,我可以看到 aspNetCore 行看起来像这样:

<aspNetCore processPath=".\MyWebSite" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" /> 

将扩展名 (.exe) 添加到 MyWebSite 以使其与文件匹配,从而解决了该问题。 修复它对我来说并不难,但我想自动部署并且我想避免必须做一些可以修复这个文件的东西。

我是做错了什么还是有办法强制延期?

事实证明这是设计使然,如果我部署时指定 -r win,我会在 web.config 中获得文件扩展名。