dotnet发布出错无法找到/创建approot文件夹

问题描述

好吧,经过很多努力,我找到了答案。并相信我,看到它后您会感到愚蠢。

问题不在于发布脚本,而在于部署脚本,而是在寻找错误的路径。

正确的命令:

“ C:\ Program Files(x86)\ IIS \ Microsoft Web Deploy V3 \ msdeploy.exe” -source:IisApp =’D:\ TempPublish '-dest:IisApp =’xyztwee__testing’,ComputerName =’ https:// xxxx-zzzzz.scm.azurewebsites.net/msdeploy.axd’,UserName =’$ xyztwe__testing’,Password =’LOL53encrypted7beyond9your4limit5Dont70waste87Time’,IncludeAcls =’False’,AuthType =’Basic’-verb:sync -enableLink:contentLi

注意源路径source:IisApp =’D:\ TempPublish '而不是’D:\ TempPublish \ wwwroot’在已发布文件夹中搜索wwwroot文件夹,只是提供已发布文件夹作为源。

希望这可以帮助某人并节省一些时间。

解决方法

发布或部署脚本没有错误,但是在部署完成后,导航至网站说:

指定的CGI应用程序遇到错误,服务器终止了该过程。

可能的原因是:我使用dnx发布命令时没有发生。我从以前的控制台日志中验证了此警告是新的。

找不到文件“ D:\ TempPublish \
approot”。了解更多信息:http
:
//go.microsoft.com/fwlink/?LinkId=221672#FileOrFolderNotFound。信息:使用ID‘8zsdwee


b7a299fe6’连接到远程服务器。警告:由于规则SkipInvalidSource,正在跳过源contentPathLib(D:\
TempPublish \ approot)。找不到文件“ D:\ TempPublish \
approot”。了解更多信息:http
:
//go.microsoft.com/fwlink/?LinkId=221672#FileOrFolderNotFound。

发布命令:

“ C:\ Program Files \ dotnet \ dotnet.exe”发布“ C:\ Program Files(x86)\
Jenkins \ workspace \ Temp Publish \ Site.Web” –framenet net451-输出“ D:\
TempPublish”-配置发布

由于未创建approot文件夹,因此msdeploy命令已成功执行,但在完成部署后无法正常工作。

MsDeploy命令:

“ C:\ Program Files(x86)\ IIS \ Microsoft Web Deploy V3 \ msdeploy.exe”
-source:IisApp =’D:\ TempPublish \ wwwroot’-dest:IisApp
=’hhhhhhhh’,ComputerName =’ https:// xxxx-
zxxx.scm.azurewebsites.net/msdeploy.axd’,UserName =’$ xxxxx’,Password
=’yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy’,IncludeAcls =’False’,AuthType =:Basic-

Project.Json-发布后脚本:

“脚本”:{“ postpublish”:[“ dotnet publish-iis –publish-
folder%publish:OutputPath%–framework%publish:FullTargetFramework%”]}

这里可能出什么问题了?

谢谢你的帮助。