cake: ParseProject doesn't support new csproj-format
ParseProject doesn’t support new csproj-format. One essential thing missing is support for multiple target frameworks.
About this issue
- Original URL
- State: open
- Created 7 years ago
- Reactions: 5
- Comments: 28 (17 by maintainers)
@wexman Parsing MSBuild project files is actually very complicated. Also note that project files are more a function of MSBuild than the C# language. Between the different types of projects, different SDKs and project file formats, and different MSBuild tasks and targets, there’s a lot to them under the hood. There’s also a difference between “parsing” the files to determine the structure of the file (as Cake does) and “evaluating” them to figure out how MSBuild will interpret them (as @matkoch suggests).
Can we please leave the attitude out of this, especially without understanding all the facets of the problem. We’re all volunteers here.
So now with version 0.26.0 of cake, the incubator addin (1.7.2) doesn’t work anymore (because it was built against cake.core 0.22.0). How am I supposed to get the version info I need now? Can you please stop breaking things between every 2nd release?
So Cake - a C# build tool - is not able to parse C# project files?
Are you freaking kidding me?
Sorry gep13! There are so many repos I was not sure what goes where. I’ll recreate the issue over there.
No, not a sore point at all.
What you said was factually incorrect, and @devlead wanted to ensure that you understood that.
Quite frankly, the way that you said it came across and rude and entitled, and I also wanted to make sure that you understood that we don’t go into a breaking change lightly, however, these things do happen, and there are documented mechanisms to do what you want.
The solution that @mholo65 pointed out was listed in the release notes associated with the release of 0.26.0. Did you happen to read those?
https://cakebuild.net/blog/2018/02/cake-v0.26.0-released
Introducing breaking changes is not something that we do lightly. We only do this when we feel it is absolutely necessary. We do however go out of our way to try to let the Cake community know about these upcoming breaking changes ahead of time, so that they can be prepared, and we also recommend pinning to a specific version of Cake, so that your builds don’t get affected by these changes. Have you pinned your Cake and Addin/Tools versions? Are you seeing the notifications about upcoming breaking changes?
@wexman we’ve had 7 intentional breaking changes in 87 releases. Most of those have been because dependencies have introduces breaking changes. I.e. switching from .NET Standard 1.6 to 2.0 is a pretty big change tooling wise. We do try hard to not introduce breaking changes, and that we break every second release simply isn’t true.
0.25.0 still works, so if you pin to that your build should just continue work as before.