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

Port to .net core #836

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Port to .net core #836

wants to merge 1 commit into from

Conversation

Pireax
Copy link

@Pireax Pireax commented Jun 17, 2019

It still needs work but I've put this here for discussion.
Since .NET Framework will not receive new versions and .NET Core is the future, I think it would be a good idea to start the transition to .NET Core. A few issues (#801, #700) were already submitted about this and a few years ago a pull request (#764) was created with the same goal as this one.
Personally I want to keep the supported environments to just IIS for now. Most dependencies of the project have been ported to .NET Core by now but a few notable changes were / are necessary:

  • Unity DI is discontinued and no .NET core version is available, this has been (minimally) ported to the built-in dependency injection service.
  • EF code has been changed to EF Core, new API, e.g. many to many relations had to be manually created.
  • Windows authentication has been commented out for now, windows authentication is built into Asp Core now, this still needs to be ported to this new method / changed to work as it is.
  • Asp .NET Core also has a new way of configuration, for now I've used an App.config file to keep code changes to a minimum. This should probably be changed to an appsettings.json file
  • The integration tests use SpecsFor.Mvc, this library does not support .NET Core so integration tests no longer work.
  • In the unit testing department, a mocking framework is needed to test the parts that now use constructor injection and require instances of their dependencies. Moq and NSubstitute are the two big ones at the moment I think.
  • I've included and ported the single CheckBoxListFor function from MvcCheckBoxList used in the codebase, in the future we could use the new tag helpers for example to replace it.

Since the settings format and the database providers have changed, this will probably not become a drop in replacement for the current Bonobo Git Server. Might make sense to create a new branch in the future for this if this is something you are interested in.

@Pireax Pireax force-pushed the master branch 5 times, most recently from 1d092b5 to f8c8eb3 Compare June 19, 2019 19:24
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.

None yet

1 participant