我正在尝试通过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 /
答案 0 :(得分:0)
MapUriToIisWebServer任务似乎最终会调用 Microsoft.Web.Publishing.Tasks.Iis7WebServer
获取提供的网址的正确网站信息。 Initialize(UriWrapper uri, bool useLocalHost)
电话似乎做了工作,并且以某种方式出错了。
我发现此“站点解析”问题受IIS站点设置的影响 - 尤其是主机名和“IP地址”。例如,如果我转到错误识别的站点并将主机名更改为其他任何内容或将“IP地址”设置从“所有未分配”更改为已定义的IP地址,则站点解析将更改为另一个(也被错误识别) )IIS中的站点。再次重复此过程,然后通过“构建部署包”过程识别正确的站点。
简而言之,Microsoft.Web.Publishing.Tasks.Iis7WebServer中似乎存在一个错误