Aspnet Core自包含部署的web.config缺少文件扩展名

时间:2018-10-29 17:40:31

标签: .net asp.net-core dotnet-publish

我将Aspnet核心(2.1)与完整框架(4.7,我们要使用一些WCF WS- *服务)配合使用,并且每当我使用publish时,生成的web.config都无法正常工作。启动网站(在Windows 7计算机上使用IIS 7.5)并尝试通过Web浏览器访问该网站,我收到了经典的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,使其与文件匹配,从而解决了该问题。 对我来说,修复它并不难,但是我想使部署自动化,并且我希望避免做出一些可以修复此文件的事情。

我做错了什么,还是有办法强制扩展?

1 个答案:

答案 0 :(得分:1)

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