【问题标题】:Invalid xpath expression being shown in csdef of Azure cloud service projectAzure 云服务项目的 csdef 中显示的 xpath 表达式无效
【发布时间】:2016-05-31 12:18:07
【问题描述】:

在 Azure 云服务项目的csdef 文件中,我定义了以下环境变量:

      <Variable name="MONITORING_DATA_DIRECTORY">
        <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='MonitoringDataDirectory']/@path" />
      </Variable>

项目构建成功。但是,当我尝试运行该项目时,它会抛出一个错误,提示 '/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='MonitoringDataDirectory']/@path' is an invalid xpath expression

Here 是关于 stackoverflow 的类似问题,但我不知道如何将解决方案应用于我的案例。有人可以帮我吗?

【问题讨论】:

  • 这与链接的问题无关:无效的 XPath 是由于包含' 的动态字符串,如果是您的情况,则类似于@name='Monitoring'DataDirectory'
  • /RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='MonitoringDataDirectory']/@path 是一个有效的 XPath 表达式,据我所知(我在 xpathtester.com 上测试时也没有抱怨)

标签: visual-studio xpath visual-studio-2015 azure-sdk-.net


【解决方案1】:

我刚刚遇到了完全相同的问题,使用完全相同的变量“MONITORING_DATA_DIRECTORY”。事实证明,错误消息有点误导。 XPath 完全有效。问题是我的 .csdef 文件没有声明名为“MonitoringDataStore”的 LocalResource。将此代码添加到 .csdef 即可解决问题:

<LocalResources>
  <LocalStorage name="MonitoringDataStore" cleanOnRoleRecycle="false" sizeInMB="200000" />
</LocalResources>

【讨论】:

    猜你喜欢
    • 2013-07-10
    • 2015-08-14
    • 2017-10-12
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    相关资源
    最近更新 更多