dotnet 发布出错。无法 find/create approot 文件夹
dotnet publish going wrong. Unable to find/create approot folder
发布或部署脚本没有错误,但部署完成后,导航到网站显示:
The specified CGI application encountered an error and the server
terminated the process.
可能的原因是:
当我使用 dnx publish 命令时,这并没有发生。
我从以前的控制台日志中验证了这个警告是新的。
找不到文件 '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" publish "C:\Program Files
(x86)\Jenkins\workspace\Temp Publish\Site.Web" --framework net451
--output "D:\TempPublish" --configuration Release
由于未创建 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='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy',IncludeAcls='False',AuthType='Basic'
-verb:sync -enableLink:contentLibExtension
Project.Json - Post-发布脚本:
"scripts": {
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] }
这里可能有什么问题?
感谢您的帮助。
在我看来,PublishProfile pubxml and/or ps1 已从 RC1 更改为 RC2。
我删除了本地 PublishProfiles 文件夹的内容,从 Azure 门户重新下载了 Web 应用程序的发布配置文件,使用 Visual Studio 中的发布向导将其导入,发布成功。
好的,经过一番努力,我找到了答案。相信我,你看了会觉得自己很傻。
问题不在发布脚本,而是在部署脚本,正在搜索错误的路径。
正确的命令:
"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:contentLibExtension
注意源路径,source:IisApp='D:\TempPublish\' 而不是 'D:\TempPublish\wwwroot' 在已发布文件夹中搜索 wwwroot 文件夹,只需提供已发布文件夹作为源。
希望这对某人有所帮助并节省一些时间。
发布或部署脚本没有错误,但部署完成后,导航到网站显示:
The specified CGI application encountered an error and the server terminated the process.
可能的原因是: 当我使用 dnx publish 命令时,这并没有发生。 我从以前的控制台日志中验证了这个警告是新的。
找不到文件 '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" publish "C:\Program Files (x86)\Jenkins\workspace\Temp Publish\Site.Web" --framework net451 --output "D:\TempPublish" --configuration Release
由于未创建 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='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy',IncludeAcls='False',AuthType='Basic' -verb:sync -enableLink:contentLibExtension
Project.Json - Post-发布脚本:
"scripts": { "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] }
这里可能有什么问题?
感谢您的帮助。
在我看来,PublishProfile pubxml and/or ps1 已从 RC1 更改为 RC2。
我删除了本地 PublishProfiles 文件夹的内容,从 Azure 门户重新下载了 Web 应用程序的发布配置文件,使用 Visual Studio 中的发布向导将其导入,发布成功。
好的,经过一番努力,我找到了答案。相信我,你看了会觉得自己很傻。
问题不在发布脚本,而是在部署脚本,正在搜索错误的路径。
正确的命令:
"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:contentLibExtension
注意源路径,source:IisApp='D:\TempPublish\' 而不是 'D:\TempPublish\wwwroot' 在已发布文件夹中搜索 wwwroot 文件夹,只需提供已发布文件夹作为源。
希望这对某人有所帮助并节省一些时间。