public PropertyValueInfo OnGetProjectPropertyValue(JToken arg)
        {
            try {
                var message = arg.ToObject <ProjectPropertyParams> ();
                var project = FindProject(message.ProjectFileName);

                string propertyName = MapPropertyName(message.PropertyName);

                IMetadataProperty property = project.ProjectProperties.GetProperty(propertyName);
                if (property != null)
                {
                    return(new PropertyValueInfo {
                        PropertyValue = property.Value
                    });
                }

                IMSBuildPropertyEvaluated evaluatedProperty = project
                                                              .MSBuildProject?
                                                              .EvaluatedProperties?
                                                              .GetProperty(propertyName);
                if (evaluatedProperty != null)
                {
                    return(new PropertyValueInfo {
                        PropertyValue = evaluatedProperty.Value
                    });
                }

                return(new PropertyValueInfo());
            } catch (Exception ex) {
                LoggingService.LogError("OnGetProjectPropertyValue error", ex);
                throw;
            }
        }
Exemple #2
0
 internal void SetProperty(string key, IMSBuildPropertyEvaluated value)
 {
     properties [key] = value;
 }