Visual Studio 2013 Web部署包失败

时间:2016-02-17 15:44:31

标签: c# asp.net iis visual-studio-2013 deployment

MS部署服务已启动。我尝试了web deployment package method,并且.dploy.cmd和xml设置文件一起生成了.zip文件。

根据.deploy.cmd文件,(计划在localhost上托管应用程序)我尝试了命令

C:\ Project> ProjectName.deploy.cmd / T / L / M:http://localhost/MSDeployAgentService

Dint获取上述命令的任何错误。得到提示“创建应用程序”并复制了所有项目文件。

当我将参数从/ T更改为/ Y时,如ProjectName.deploy-readme.txt(作为ProjectName.deploy.cmd的一部分生成)中所述,我遇到了以下错误。如果我错过了,请告诉我。由于这是我发布的第一个应用程序,因此您的建议/意见将帮助我解决此问题。

错误: C:\ Project> ProjectName.deploy.cmd / Y / L / M:http://localhost/MSDeployAgentService SetParameters来自: “C:\项目\ ProjectName.SetParameters.xml” 您可以在上述文件中更改IIS应用程序名称,物理路径,connectionString或其他部署参数。

开始执行msdeploy.exe

“C:\ Program Files \ IIS \ Microsoft Web Deploy V3 \ msdeploy.exe”-source:package ='C:\ Project \ ProjectName.zip' -dest:auto,computerName =“http:// localhost / MSDeployAgentService“,includeAcls =”False“-verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:”C:\ Project \ ProjectName.SetParameters.xml“-appHostConfigDir:”C:\ Users \ XXXX \ Documents \ IISExpress \ config“-WebServerDir:”C:\ Program Files \ IIS Express \“ - webServerManifest:”iisexpress.exe.manifest“ 信息:使用ID“d7a7b830-175c-4ec7-9baa-5d01db271c30”连接到远程服务器。 信息:创建应用程序(默认网站/ MyApplication) 信息:为路径添加ACL(默认网站/ MyApplication) 错误:(2/17/2016 11:17:19 PM)在远程计算机上处​​理请求时发生错误。 错误:此访问控制列表不是规范形式,因此无法修改。    在System.Security.AccessControl.CommonAcl.ThrowIfNotCanonical()    在System.Security.AccessControl.CommonAcl.Purge(SecurityIdentifier sid)    在System.Security.AccessControl.CommonSecurityDescriptor.PurgeAccessControl(SecurityIdentifier sid)    在System.Security.AccessControl.ObjectSecurity.PurgeAccessRules(IdentityReference identity)    在Microsoft.Web.Deployment.SetAclProvider.Add(DeploymentObject source,Boolean whatIf)    在Microsoft.Web.Deployment.DeploymentObject.Update(DeploymentObject源,DeploymentSyncContext syncContext)    在Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject,DeploymentObject sourceObject)    在Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest,DeploymentObject source)    在Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject,DeploymentObject sourceObject)    在Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject,DeploymentSyncOptions syncOptions,PayloadTable payloadTable,ContentRootTable contentRootTable,Nullable 1 syncPassId, String syncSessionId) at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable 1 passId) 错误计数:1。

1 个答案:

答案 0 :(得分:1)

这个问题在几次冲浪后得到解决。

打开控制面板 - >管理工具 - > Internet信息服务(IIS)管理器。在左窗格中,您可以找到连接选项卡,如果部署模拟已经运行(命令带有:/ T),那么您应该找到复制的应用程序< User> - >网站 - >所有MyApplication。

右键单击MyApplication,选择编辑权限 - >安全 - >你可能会弹出一个"权限< APP>订单不正确,这可能会导致某些条目无效"。单击“确定”,然后单击“高级”按钮。

单击“更改权限”,您可能会再次弹出一个重新排序。单击重新排序,然后退出。

现在尝试上面提到的命令,它可以工作。!