MSBuild参数上的DeployIisAppPath设置需要什么?

MSBuild参数上的DeployIisAppPath设置需要什么?,iis,tfs,msbuild,tfsbuild,webdeploy,Iis,Tfs,Msbuild,Tfsbuild,Webdeploy,这是我的devweb服务器的基本布局。我们的devweb服务器上运行着许多站点。我正在尝试使用TFS 2013 Build将我的网站发布到DEV服务器,这些文章来自、和其他人 我的错误是“”。基本的修复对我没有帮助 在我的示例中,我使用的是/p:deployiisappath=“dev Site 3”。该站点下未定义任何应用程序 这些都是无用的。我认为我应该只使用IIS站点名称,但这并没有成功。此参数的预期值是多少?是否有人需要应用程序池名称?是否可以对IIS发出命令以导出所有可用应用路径的列表

这是我的devweb服务器的基本布局。我们的devweb服务器上运行着许多站点。我正在尝试使用TFS 2013 Build将我的网站发布到DEV服务器,这些文章来自、和其他人

我的错误是“”。基本的修复对我没有帮助

在我的示例中,我使用的是
/p:deployiisappath=“dev Site 3”
。该站点下未定义任何应用程序

这些都是无用的。我认为我应该只使用IIS站点名称,但这并没有成功。此参数的预期值是多少?是否有人需要应用程序池名称?是否可以对IIS发出命令以导出所有可用应用路径的列表?一旦我在DEV服务器上解决了这个问题,我就必须对STG服务器做同样的事情

[更新1] 添加完整的MSBuild参数

SERVERNAME(myDomain\Username)
   Application Pools
   Sites
      DEV Site1
      DEV Site2
      dev Site 3
         bin
         Content
         ...
         Views
      etc ...

您的服务器位于您的域内,因此我将使用针对我们的内部服务器的解决方案。我必须为我们的DMZed服务器想出一些不同的东西

MSBuild参数 此解决方案使用WMSvc(安装在Web服务器上)允许TFS构建进程在部署时访问服务器需要访问的部分。我还没有试过MSDeployAgentService,所以我不确定这一点。在我的例子中,我没有在部署时创建一个包(我似乎记得我这样做时它返回了一个错误,尽管我不记得它是什么)

另外,最后三个参数对于TFS构建服务帐户登录到VMVC并执行其操作也是必需的。将UserName留空会导致它作为运行帐户登录(不需要提供密码,耶!)

构建日志 下面是成功部署时生成日志的输出示例

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSvc 
/p:MsDeployServiceUrl="https://SERVER:8172/MsDeploy.axd?Site=direct" 
/p:DeployIisAppPath="direct" 
/p:AllowUntrustedCertificate=True 
/p:AuthType=NTLM 
/p:UserName=

您是否使用MSDeployPublish(例如/p:DeployTarget=MSDeployPublish)?此外,您是否也在服务url中指定站点位置?例如“/p:MsDeployServiceUrl=”“”谢谢@CodeWarrior,我更新了我的问题。我应该包含完整的上下文。你的站点名称中有空格吗?您的示例是“direct”,因此我假设这是站点的名称,并在2个参数中重复。如果有一个空格,我假设您在站点查询字符串值中使用%20。在URL中,我希望使用%20。在DeployIisAppPath中,我只希望有一个空格,因为它在引号中。请您向我展示构建中的日志语句,告诉我MSDeploy成功了,好吗?我的构建没有失败,但我没有看到服务器代码发生变化。我不知道在MSBuild日志中查找什么才能知道MSDeploy已被调用并且正在工作。补充。在服务器上更新文件时,中间有大约1500行丢失,每行一行。我留下了第一行和最后一行。哦!非常有用。所以我没有工作,因为我在日志中没有看到这些。
/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSvc 
/p:MsDeployServiceUrl="https://SERVER:8172/MsDeploy.axd?Site=direct" 
/p:DeployIisAppPath="direct" 
/p:AllowUntrustedCertificate=True 
/p:AuthType=NTLM 
/p:UserName=
   MSDeployPublish:
     Start Web Deploy Publish the Application/package to https://SERVER:8172/MsDeploy.axd?Site=direct ...
     Starting Web deployment task from source: manifest(C:\Builds\1\Direct\Continuous Integration (SERVER)\Binaries\_PublishedWebsites\WEBPROJECTNAME_Package\Archive.SourceManifest.xml) to Destination: auto().
     Adding ACL's for path (direct)
     Adding ACL's for path (direct)
     Updating file (direct\bin\Content\images\buttonBkgHover.png).
          ... Removed for brevity => This section is all 'Updating file (PATH).'
     Updating file (direct\Web.config).
     Adding ACL's for path (direct)
     Adding ACL's for path (direct)
     Successfully executed Web deployment task.
     Publish is successfully deployed.
   PipelineDeployPhase:
     Publish Pipeline Deploy Phase