gpt4 book ai didi

asp.net - 无法提交配置更改,因为文件在磁盘上已更改

转载 作者:行者123 更新时间:2023-12-02 22:14:01 24 4
gpt4 key购买 nike

我想要一个可以创建 IIS 网站的 powershell 脚本。
但我收到错误

New-IISSite : Filename: \?\C:\Windows\system32\inetsrv\config\applicationHost.config Error: Cannot commit configuration changes because the file has changed on disk At C:\projects\salonsecretSrc\RegisterWebSite.ps1:38 char:9 + New-IISSite -BindingInformation $strIssBindigFormat -Name $st ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [New-IISSite], FileLoadException + FullyQualifiedErrorId : System.IO.FileLoadException,Microsoft.IIS.Powershell.Commands.NewIISSiteComman



这是我的脚本:
$strCurrentPath = $MyInvocation.MyCommand.Path
$strWebSiteFolder = Get-ChildItem (dir $strCurrentPath)
$strWebSiteBindingPath = $strWebSiteFolder.Directory.FullName+"\build\WebSite"
$strCurrentFolderName = $strWebSiteFolder.Directory.Name
$strIssSiteName = "$strCurrentFolderName.local"
$strIssBindigFormat = ":80:$strIssSiteName"

Write-Host "Current Script path: $strCurrentPath"
Write-Host "IIS Web Site phycical path: $strWebSiteBindingPath"
Write-Host "IIS SiteName: $strIssSiteName"
Write-Host "IIS Bindindg Format: $strIssBindigFormat"
Write-Host "Creating App Pool - $strIssSiteName"
New-WebAppPool -Name $strIssSiteName -Force
Write-Host "Creating Web Site Pool - $strIssSiteName"
New-IISSite -BindingInformation $strIssBindigFormat -Name $strIssSiteName -PhysicalPath "$strWebSiteBindingPath" -Force
Write-Host "Mapping Pull and Web Site - $strIssSiteName"
Set-ItemProperty "IIS:\Sites\$strIssSiteName" -name applicationPool -value $strIssSiteName
Write-Host "$strIssSiteName WebSite Created"

如何解决可能是什么问题?

它可以第一次创建一个网站,但第二次如果我手动删除它,则会出现此错误。

最佳答案

有许多不同的东西可以锁定 applicationHost.config 文件并导致像 New-IISSite 这样的 powershell 命令。失败。

在这种情况下,您提到您手动删除了该站点,因此您可能仍然打开了 IIS 管理器并且它正在锁定文件。我建议关闭 IIS 管理器。

如本 blog post on Powershell and IIS 中所述,Octopus Deploy 的开发者发现文件锁定问题唯一可靠的解决方案是包装任何文件更改命令,如 New-WebAppPool在 try-catch 块中并多次重试这些操作。执行此操作的函数的源代码可在博客中找到。

关于asp.net - 无法提交配置更改,因为文件在磁盘上已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44566284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com