Skip to content
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

[WIP] Project structure refactoring and migration to SDK-style project format. #4408

Closed

Conversation

SomebodyOdd
Copy link

(this is Work-in-Progress - I haven't really tested resulting binaries yet)

This PR moves CommandLine and Server projects to their own folder and migrates project format to SDK-style. No functional and/or behavioral changes are intended (besides build behaviour changes, that arise from project style migration)

Apart from just ditching old project style, there is a benefit when it comes to using .NET Standard libraries and packages, because there is known issue with referencing those from old style projects.
This conversion, however, required moving Server and CommandLine projects to their separate folders. While not strictly necessary (you can ignore child projects in main project .csproj), this made transition easier, and would probably be good in a long run. Feel free to correct me if you think otherwise.

This PR is related to #4389 since some of the proposed libraries are .NET Standard.

@SomebodyOdd SomebodyOdd force-pushed the feature/project_refactoring branch from 3e2cbe9 to 013d076 Compare January 2, 2021 01:03
@warwickmm
Copy link
Member

Transition to .NET 5 is being done in pull request #3124. I haven't been able to keep up with the progress there, but perhaps it would be good to coordinate with @mnaiman, since it looks like some of the project format conversion has already been done.

@warwickmm
Copy link
Member

I'm going to go ahead and close this, since the project format changes are being done in the .NET 5 branch.

@warwickmm warwickmm closed this May 3, 2021
@SomebodyOdd
Copy link
Author

@warwickmm sorry for necroposting, but #3124 seems like a huge pull request with over a 100 commits there already, and it doesn't seem to end anytime soon. Don't get me wrong, there is a progress there, and this would be awesome if duplicati would migrate to .net 5, but project conversion is a thing that could bring some benefit right now. Maybe we could try and merge project format conversion earlier than .net 5 migration?

Thing is, I'd still like to use a FluentMigrator, as discussed in #4389, but old project format really complicates things because of this known issue.
Could we revisit decision to wait for a .net 5?

@warwickmm
Copy link
Member

There is some desire to focus more on bug fixes and stabilizing the current code in an effort to ease the transition to .NET 5.
Personally, I am a little hesitant to overhaul critical code before we make the transition.

However, I wouldn't want to inhibit your progress on cleaning up the database code and queries. I'm also not familiar with all the implications of the proposed changes. Perhaps one way forward could be to keep the necessary infrastructure changes (csproj files, etc.) on your branch, and convert one of the queries as a proof of concept that we can evaluate? I'd be curious about performance implications, how easy it is to debug a query, etc.

I'd also be interested to see what the before and after Linq2Db looks like for the changes in pull request #4297. Is the inefficiency further obfuscated by the "higher-level" query, or is it actually made more obvious somehow?

/cc @kenkendk

@SomebodyOdd
Copy link
Author

Okay, I just was hesitant that if I do some major stuff now, then it will become merge nightmare after .NET 5 changes roll out.
But proof of concept is fine, I guess. Just need to find some time for it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants