如何指定非DefaultWebSite的站点根目录的deployIisAppPath?
我有一个ASP.NET MVC web应用程序项目,我想将其部署到我的IIS web服务器。站点树设置如下:如何指定非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站点。请参阅下面我使用的设置与我
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