【问题标题】:Did Azure 1.8 (Oct 2012) change the way you configure multiple sites in the ServiceDefinition?Azure 1.8(2012 年 10 月)是否改变了您在 ServiceDefinition 中配置多个站点的方式?
【发布时间】:2012-11-13 17:04:41
【问题描述】:

在升级到 1.8(2012 年 10 月)之前,这是我们在 ServiceDefinition 中配置网站的方式。

<Site name="Admin" physicalDirectory="..\Company.Admin">
  <Bindings>
    <Binding name="AdminBindingHttp" endpointName="HttpEndpoint" hostHeader="admin.company.com" />
  </Bindings>
</Site>

升级后,我在尝试发布时遇到以下错误。

Error 125 Cannot find the physical directory 'C:\Users\Me\Code\Company.Cloud\bin\Company.Admin' for virtual path Admin/.

我们必须更新 physicalDirectory 值并向上移动 2 个文件夹。

<Site name="Admin" physicalDirectory="..\..\..\Company.Admin">
  <Bindings>
    <Binding name="AdminBindingHttp" endpointName="HttpEndpoint" hostHeader="admin.company.com" />
  </Bindings>
</Site>

似乎在 1.8 之前的 Azure 是在 csdef 文件的原始位置的上下文中执行的,但现在它是从 bin\Release\ServiceDefinition.csdef 执行的,它比 2 个文件夹更深。 p>

我在网上找不到专门讨论与最新 SDK 版本一起使用的此功能的教程。这是官方的改动吗?我还要提一下,我们也同时升级到了 VS 2012。

我觉得这个功能经常被忽视。 (请参阅缺少 .config 转换问题)。我们很想切换到 Azure 网站,但在 SSL/HTTPS 可用并且它不再是预览版之前,我们无法这样做。

【问题讨论】:

  • 我也遇到了这个问题,并得到了同样的解决方法。我已经在运行 VS2012(RC,然后是 RTM),所以与此无关。
  • 我也面临同样的问题。但是在虚拟目录路径中附加“../”之后,当我制作 pacakge 时。 ServiceDefination.csdef 文件在外部被修改,“../”被删除并得到相同的错误“找不到虚拟目录的物理路径。”

标签: iis azure


【解决方案1】:

是的,这是官方更改,但除了升级报告中包含的内容外,我找不到任何有关它的文档:

“Site 元素的physicalDirectory 属性'..\MyWebRole' 包含一个相对路径。此路径相对于打包时目标服务定义文件所在的目录。在以前的版本中,此文件位于根目录中项目目录。在此版本中,默认情况下,此文件位于项目输出目录中。您可能需要更新相对路径以反映目标服务定义文件的新位置。"

【讨论】:

  • 感谢您的确认!
  • 问题是,这与部署时虚拟机上的内容不同。虚拟机上的目录是 c:/a/Project 在我的机器上是 c:/Project oh microsft..
【解决方案2】:

在回复 sudhAnsu63 的问题时,我遇到了同样的问题,我将更新物理目录属性,但它会重新加载文件并恢复到旧的(现在不正确的)配置。我仍然不明白为什么,但我注意到 VS 有时会打开同一个文件的多个版本。我不得不关闭所有其他文件,进行编辑,保存并关闭文件,然后它终于接受了我的编辑并开始工作。我相信在 VS 外部编辑文件(如在记事本中)可能会起作用。奇怪的是,一旦我让它工作了一次,它似乎就不再遇到这个问题了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 2010-10-10
    相关资源
    最近更新 更多