-
-
Notifications
You must be signed in to change notification settings - Fork 970
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change the way of generating new project file #1403
Comments
@WojciechNagorski if you are still looking for some task then most probably this one would have the biggest impact (it's going to solve at least 10+ bugs) |
@adamsitnik Yes, I would like to solve this task. I will find time next week. |
Awesome! I've assigned you to the task. |
Update: I've thought for 2 weeks and I think that I invented the final solution for all cases. |
@WojciechNagorski awesome :D |
Hi, is there any progress on the implementation? I am only asking because it sounded like the problem was basically solved. :) We also have a custom build configuration to do out-of-tree builds, and currently use the workaround of putting a stripped-down |
@ilohmar @adamsitnik After I wanted to fix this problem I changed the project at work, then I changed work at all. So I didn't have time for this task. Currently, I have only an idea but I don't have time for it. |
@WojciechNagorski If you don't have time to work on this, could you leave your thoughts on what the solution should be so someone can work on it? |
@timcassell I had some ideas and wanted to test them one by one. Two ideas are particularly promising. But I don't want to describe them because I'd have to bring back the details and that's also work and time. I would love to do this and more, even full-time, but this was only a free contribution and fun. |
I'm unsure of how to reliably do this. [Edit] Also if the paths/assemblies include variables in them, it would be next to impossible for us to determine that without having our own mock-msbuild to resolve them. The easiest thing to do would be to produce the generated csproj in the same directory as the original xproj. It's not ideal since it would clutter the original project directory and is separated from the generated code, but it would be able resolve all paths correctly without us having to try to guess. Any thoughts on that @AndreyAkinshin @adamsitnik? |
This issue/change involves references to a range of both old and new issues/discussions. In that discussion, we should clearly define the bug/issue description and add relevant details, such as:
This will help ensure everyone has a clear understanding of the task at hand. |
Thanks for the input @ketanpkolte. I think this issue is outdated. I have already fixed most of the linked issues, and I have another PR to fix some more (#2508). Only one of the issues we haven't been able to repro so far (#1358). Also, the suggested changes introduce their own risks, and builds are already quite stable now. I think we should rather tackle the issues on a case-by-case basis. I was thinking of closing this issue after my PR is merged, or we could close it sooner if @adamsitnik is in agreement that this is no longer needed. |
As of today, we generate the
.csproj
file by filling this text template.The main disadvantage of this approach is that if there are any custom
MSBuild
settings in the project with a benchmark that we are not aware of, we sometimes fail to build the project and hence fail to run the benchmarks.We used to follow a similar approach for generating the
app.config
files, but at some point in time we changed the approach to "rewrite everything from the source file unless it's on our list of settings". The code can be found hereI propose that we switch to a similar approach with the
.csproj
file:This should fix:
and a few more issues
The text was updated successfully, but these errors were encountered: