WebDeploy with MSdeploy.exe无法同步GAC程序集,因为dll被另一个进程锁定
我在使用msdeploy将GAC程序集同步到许多应用程序服务器时遇到了这个问题 当我运行这个命令时WebDeploy with MSdeploy.exe无法同步GAC程序集,因为dll被另一个进程锁定,gac,msdeploy,webdeploy,iisreset,Gac,Msdeploy,Webdeploy,Iisreset,我在使用msdeploy将GAC程序集同步到许多应用程序服务器时遇到了这个问题 当我运行这个命令时 msdeploy -verb:sync -source:gacAssembly="'MyAssembly'" -dest:gacAssembly,computername=DESTINATIONSERVER 我得到这个错误: *Microsoft.Web.Deployment.DeploymentException: (28/09/2010 16.46.37)在远程计算机上处理请求时出错。 --
msdeploy -verb:sync -source:gacAssembly="'MyAssembly'" -dest:gacAssembly,computername=DESTINATIONSERVER
我得到这个错误:
*Microsoft.Web.Deployment.DeploymentException:
(28/09/2010 16.46.37)在远程计算机上处理请求时出错。
--->Microsoft.Web.Deployment.DeploymentClientServerException:处理“INPS.DNA.dll”时遇到错误。
--->Microsoft.Web.Deployment.DeploymentException:错误代码为0x80070020。
--->System.IO.IOException:进程无法访问“C:\Windows\assembly\GAC\U MSIL\MYASSEMBLY\1.0.0\UU a31fe99d2f98435c\MYASSEMBLY.dll”,因为其他进程正在使用它。
位于Microsoft.Web.Deployment.Win32Native.RaiseIOExceptionFromErrorCode(Win32ErrorCode errorCode,字符串maybeFullPath)
位于Microsoft.Web.Deployment.FileStreamEx.CreateInstance(字符串路径、文件模式、文件访问)
位于Microsoft.Web.Deployment.FilePathProvider.Add(DeploymentObject源,布尔whatIf)
---内部异常堆栈跟踪的结束---
---内部异常堆栈跟踪的结束---
位于Microsoft.Web.Deployment.DeploymentObject.Update(DeploymentObject源,DeploymentSyncContext syncContext)
位于Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject,DeploymentObject sourceObject)
位于Microsoft.Web.Deployment.DeploymentSyncContext.SyncDirPathChildren(DeploymentObject destRoot,DeploymentObject sourceRoot)
位于Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder(DeploymentObject dest,DeploymentObject源)
位于Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest,DeploymentObject源)
位于Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject,DeploymentObject sourceObject)位于Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject、DeploymentSyncOptions、syncOptions、PayloadTable、PayloadTable、Conten Trottable内容(根表) 在Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentWorkerR equest WORKERREST) ---内部异常堆栈跟踪的结束--- 在Microsoft.Web.Deployment.StatusThreadHandler.CheckForException()中 位于Microsoft.Web.Deployment.AgentClientProvider.RemoteDestSync(DeploymentObje ct sourceObject,DeploymentSyncContext(同步上下文) 位于Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject、DeploymentSyncOptions、syncOptions、PayloadTable、PayloadTable、Conten Trottable内容(根表) 位于Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions、DeploymentBaseOptions baseOptions、DeploymentSyncOptions syncO (可选) 在MSDeploy.MSDeploy.ExecuteWorker()上 错误计数:1* 如果我在DESTINATIONSERVER上执行IISRESET,则不会发生错误 我的问题是: 是否可以在不执行IISRESET命令的情况下解锁DLL 我想我可以避免重新启动整个Web服务器。 你能帮我吗 非常感谢
致以最诚挚的问候。使用recyleApp提供程序停止和启动应用程序池怎么样
msdeploy.exe-动词:sync-来源:recycleApp-dest:recycleApp=“默认网站”,recycleMode=“stopppool”,computerName=远程计算机
。。。做你真正的部署
msdeploy.exe-动词:sync-来源:recycleApp-dest:recycleApp=“默认网站”,recycleMode=“startappool”,computerName=远程计算机