如何指定IIS网站以通过visual studio创建部署包

时间:2012-03-27 18:54:27

标签: visual-studio-2010 iis-7 msdeploy

我正在尝试通过Visual Studio 2010为我的网站创建一个部署包。有问题的网站有一个绑定,我指向我的hosts文件中的127.0.0.1。我的Web应用程序项目设置指向该网站,一切正常。但是,当我尝试创建包时,会使用来自错误站点的设置。如何告诉部署包使用正确的设置以及控制它的机制?

更新 看来Microsoft.Web.Publishing.targets中的MapUriToIisWebServer任务出现了错误的IIS网站。通过命令行使用msbuild的输出得到了:

Package:
  Invoking Web Deploy to generate the package with the following settings:
  $(LocalIisVersion) is 7
  $(DestinationIisVersion) is 7
  $(UseIis) is True
  $(IisUrl) is http://mysite <-- correct url (use hosts file to point localhost)
  $(IncludeIisSettings) is true
  $(_DeploymentUseIis) is True
  $(DestinationUseIis) is True
  $(IisUrl_SiteID) is 2 <-- not the correct id
  $(IisUrl_SiteFriendlyName) is notmysite.com <-- not the correct url
  $(IisUrl_SiteRelativePath) is /

1 个答案:

答案 0 :(得分:0)

MapUriToIisWebServer任务似乎最终会调用 Microsoft.Web.Publishing.Tasks.Iis7WebServer  获取提供的网址的正确网站信息。 Initialize(UriWrapper uri, bool useLocalHost)电话似乎做了工作,并且以某种方式出错了。

我发现此“站点解析”问题受IIS站点设置的影响 - 尤其是主机名和“IP地址”。例如,如果我转到错误识别的站点并将主机名更改为其他任何内容或将“IP地址”设置从“所有未分配”更改为已定义的IP地址,则站点解析将更改为另一个(也被错误识别) )IIS中的站点。再次重复此过程,然后通过“构建部署包”过程识别正确的站点。

简而言之,Microsoft.Web.Publishing.Tasks.Iis7WebServer中似乎存在一个错误