Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何指定非DefaultWebSite的站点根目录的deployIisAppPath?_Iis_Tfs_Msbuild_Msdeploy - Fatal编程技术网

如何指定非DefaultWebSite的站点根目录的deployIisAppPath?

如何指定非DefaultWebSite的站点根目录的deployIisAppPath?,iis,tfs,msbuild,msdeploy,Iis,Tfs,Msbuild,Msdeploy,我有一个ASP.NET MVC web应用程序项目,我想将其部署到我的IIS web服务器。站点树设置如下: SERVERNAME(myDomain\Username) Application Pools Sites Default Web Site MyProjectSite bin Content ... Views 我正在尝试部署到MyProject站点。请参阅下面我使用的设置与我

我有一个ASP.NET MVC web应用程序项目,我想将其部署到我的IIS web服务器。站点树设置如下:

SERVERNAME(myDomain\Username)
   Application Pools
   Sites
      Default Web Site
      MyProjectSite
         bin
         Content
         ...
         Views
我正在尝试部署到MyProject站点。请参阅下面我使用的设置与我返回的错误。我显然没有正确地指定我的站点路径,但就我个人而言,我不知道它应该是什么

以下设置在迭代之间保持不变:

/p:DeployOnBuild=True/p:DeployTarget=MsDeployPublish/p:CreatePackageOnPublish=False/p:MSDeployPublishMethod=WMSvc/p:AuthType=Basic/p:Username=“myUserName”/p:Password=“MyPassword”/p:AllowUntrustedCertificate=True

将SiteName/指定为IISAPPATH: 参数:
/p:MsDeployServiceUrl=”https://serverName:8172/MsDeploy.axd?Site=MyProjectSite“/p:deployiisappath=“MyProjectSite/”

错误: 使用Web管理服务连接时,
无法使用指定的提供程序(“createApp”)完成操作
-我不想创建新网站。我想同步已经存在的内容

将IISAPPATH指定为根目录(假设使用URL中的sitename) 参数:
/p:MsDeployServiceUrl=”https://serverName:8172/MsDeploy.axd?Site=MyProjectSite“/p:DeployIISAPPATH=“/”

错误: 使用Web管理服务连接时,
无法完成与指定提供商(“iisApp”)的操作
-看起来它正在尝试访问默认网站或其他内容(我故意不授予自己访问权限)

将IISAPPATH指定为空字符串(假设使用URL中的sitename) 参数:
/p:MsDeployServiceUrl=”https://serverName:8172/MsDeploy.axd?Site=MyProjectSite“/p:DeployiisAppath=”“

错误:
未为“ConcatFullServiceUrlWithSiteName”任务提供所需参数“SiteAppName”的值
-因此它将“”解释为实际为空值,从而中断了连接它的尝试

在URL中不指定站点属性,只指定SiteName/as iisappath 参数:
/p:MsDeployServiceUrl=”https://serverName:8172/MsDeploy.axd“/p:deployiisappath=“MyProjectSite/”

错误: 使用Web管理服务连接时,
无法使用指定的提供程序(“createApp”)完成操作

在URL中不指定站点属性,但将SiteName指定为IISAPPATH 参数:
/p:MsDeployServiceUrl=”https://serverName:8172/MsDeploy.axd“/p:DeployiisAppath=“MyProjectSite”

错误: 使用Web管理服务连接时,
无法使用指定的提供程序(“createApp”)完成操作

现在,假设它正在SiteAppName上运行连接,那么它必须将其与站点名称相结合,是吗?为了让站点与站点的根同步,您应该在那里放置什么

更新 为了找出正确的路径方案,我尝试使用Visual Studio 2012发布对话框进行发布。在这种情况下,我返回一个错误,说明请求超时(测试连接几乎立即工作,预览更改工作,但需要几秒钟)。我检查了事件日志和wmsvc的tracelog,但没有结果。即使trace设置为verbose,tracelog中也不会显示任何内容。我曾尝试在两台计算机上禁用防火墙,但在这方面似乎也没有任何效果。

解决了这个问题

问题源于项目属性的Web Deploy页面中的两个设置。我以前设置过这个项目(在调试配置中),只复制运行应用程序所需的文件,而不构建zip包。然而,我忽略了对发布配置的那些设置做任何事情

它尝试使用createApp的原因(置信度为75%)是因为它是从它创建的Zip包部署的。所以在那些情况下我的IISAPPATH设置很好,我只是部署了错误的东西

我将
Create deployment package as a zip file
设置设置为false,将
要部署的项目
下拉列表设置为仅运行此应用程序所需的文件,一切都顺利进行

顺便说一句,我发现(如上所述)您可以使用VisualStudio中Web Publish对话框输出的发布配置文件(不幸的是,仅2012年;2010年您必须进行一些我不确定的按摩)。我给我的命名没有空格,并提供了密码作为参数以及不受信任的证书设置。现在,TFS的生成定义中的MSBuild参数如下所示:
/p:DeployOnBuild=True;PublishProfile=NameOfPublishProfile/p:AllowUntrustedCertificate=True/p:Password=PleaseeverIfMe

祝贺您!你有没有弄明白为什么其他服务器都能正常工作?是的。我正在使用调试配置。实际上,该应用程序已正确设置为部署(即,仅用于运行应用程序的文件,而不用于创建用于发布的zip)。谢谢你的帮助!让它与VisualStudio2012一起工作怎么样,在那里他们删除了ZIP选项。嗯。。。我几乎可以肯定Zip文件设置在属性的Package/Publish网页中,但我没有看到它。是否在其中一个更新中删除了它?以上所有内容都是在VS 2012中完成的。到目前为止,对于我的开发服务器构建和部署,我将其归结为:
msbuild HelloWorld.csproj/P:Configuration=Debug/P:DeployOnBuild=True/P:PublishProfile=HelloWorldDebug/P:AllowUntrustedCertificate=True/P:UserName=buildserverusername/P:Password=buildserveruserpass