Evaluation question: .FindEvaluation() vs. .EvaluationFolder.Children.OfType<ProjectEvaluation>()
See original GitHub issueIn writing some tooling based on the lib, I’ve found many projects to have an EvaluationId of -1
so Build.FindEvaluation(id)
doesn’t work, but the evaluation is there if I look up via Build.EvaluationFolder.Children.OfType<ProjectEvaluation>().SingleOrDefault(pe => pe.SourceFilePath == p.SourceFilePath)
. So currently I’m doing:
var eval = build.FindEvaluation(p.EvaluationId) ?? build.EvaluationFolder.Children.OfType<ProjectEvaluation>().SingleOrDefault(pe => pe.SourceFilePath == p.SourceFilePath);
I guess my questions are:
- Is this expected?
- Is there a problem with me going by path as a workaround?
I see this is populated by build context but haven’t dug in yet…figured I’d ask if this was expected. If not, happy to dig - I have a consistent repro 😃
Issue Analytics
- State:
- Created a year ago
- Comments:5 (5 by maintainers)
Top Results From Across the Web
Evaluation
The evaluation process for the child must: Include information about the child's academic, developmental and functional performance;; Be administered by ...
Read more >ACF Evaluation Policy
This evaluation policy builds on the Administration for Children and Families' (ACF) strong history of evaluation by outlining key ...
Read more >Child Find Evaluation Process
Federal law mandates that school districts are obligated to locate and evaluate all children with disabilities from ages 3-21. Either the parent/legal ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
So, regarding missing evaluation ID - could you send me a binlog with that? I want to understand why that instance of Project doesn’t seem to have it. You do have the latest version of MSBuild so you shouldn’t be impacted by that bug any more.
I think I like the badge for TargetFrameworkVersion as well - I didn’t add it purely because I didn’t work with legacy projects myself much. If you PR that, that’d be great. No reason to not show this info. Without translation seems fine, as it conveys more information (translating erases the fact that this was legacy).
Don’t think people care much about whether the project is legacy or not, and if they do, we can find another way to identify that, perhaps an uglier project icon for legacy projects, or a skull with cross bones, or a radiation sign.
Thanks, I think the conclusion for now is that if the project results were satisfied from the cache and the actual build was never invoked, there’s no evaluation Id for those projects and we need to filter them out.