【问题标题】:How do I specify an IIS website to create a deployment package via visual studio如何指定 IIS 网站以通过 Visual Studio 创建部署包
【发布时间】:2012-03-27 18:54:26
【问题描述】:

我正在尝试通过 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 /

【问题讨论】:

  • 同样的问题 - 你查到真相了吗?

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


【解决方案1】:

MapUriToIisWebServer 任务似乎最终会调用 Microsoft.Web.Publishing.Tasks.Iis7WebServer 为提供的 url 获取正确的站点信息。 Initialize(UriWrapper uri, bool useLocalHost) 调用似乎完成了工作,但不知何故出错了。

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

简而言之,Microsoft.Web.Publishing.Tasks.Iis7WebServer 中似乎存在 bug

【讨论】:

    猜你喜欢
    • 2011-11-18
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 2015-05-28
    相关资源
    最近更新 更多