2016-05-31 1 views
1

Dans le fichier csdef du projet Azure Service Cloud, je la variable d'environnement suivante définie:non valide expression XPath étant représenté dans csdef d'Azur projet de service cloud

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

Le projet construit avec succès. Toutefois, lorsque j'essaie d'exécuter le projet, il génère une erreur indiquant '/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='MonitoringDataDirectory']/@path' is an invalid xpath expression.

Here est une question similaire sur stackoverflow, mais je ne sais pas comment appliquer la solution à mon cas. Quelqu'un peut-il m'aider?

+0

Cela n'a rien à voir avec la question liée: XPath invalide, il a été en raison d'une chaîne dynamique contenant ' « ', quelque chose comme' @ name = » Surveillance » DataDirectory'' si c'était dans votre cas. – har07

+0

'/ RoleEnvironment/CurrentInstance/LocalResources/LocalResource [@ name = 'MonitoringDataDirectory']/@ path' est une expression XPath valide autant que je peux voir (elle ne s'est pas plainte quand j'ai testé sur xpathtester.com aussi) – har07

Répondre

1

Je viens de rencontrer exactement le même problème, avec exactement la même variable, "MONITORING_DATA_DIRECTORY". Il s'avère que le message d'erreur est un peu trompeur. Le XPath est parfaitement valide. Le problème était que mon fichier .csdef n'avait pas une LocalResource nommée "MonitoringDataStore" déclarée. L'ajout de ce code au .csdef a résolu le problème:

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