Core non-UI DLL responsible for cryptography and reading / writing DB - without reference to System.Drawing, WinForms etc.; can be used to directly access DB file; this should be alse quite easy to migrate to .NET 4 / .NET Core / Universal Apps
Application DLL responsible for localization, application and other UI specific tasks
Motivation:
To make future migration to new .NET CLR 4 easier
To be able to use KeePass DB file also from apps written in newer CLR
My goal:
I would like to write open source website that can access to KeePass DB online
Also what are plans for future development of KeePass? Is migration to newer .NET planned?
Last edit: Tomáš Jecha 2016-01-10
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm not planning to "migrate" to .NET 4 in the near future (you probably mean to set the target .NET framework in the IDE to .NET 4). Although there are a few nice features in newer .NET versions, I don't think sacrificing .NET 2.0 compatibility is worth it. Note that KeePass ships with a configuration file that instructs .NET to run KeePass with .NET 4 / 4.5, if installed (.NET 2.0 is not required in this case).
Best regards,
Dominik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have an interest in .NET Core too. Since Dominik isn't going to do this anytime soon (with good reason), I invite you to have a look at https://github.com/dlech/KeePass2PCL. It is something I started a year ago with portable class libraries. I stopped working on it when the announcemets about the "new" .NET came out. I think coreclr and friends are far enough along that I could start working on it again, but change it to target coreclr instead of using PCLs.
Last edit: David Lechner 2016-01-10
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When a sentence ends with a raw URL, SourceForge assumes that the period ending the sentence is part of the URL. To prevent this, put the URL in angle brackets (which will disappear when the message is displayed): https://github.com/dlech/KeePass2PCL.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm not planning to migrate to anything else, because I currently don't see any benefit that justifies a migration. This might change in the future of course.
Best regards,
Dominik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well the benefit I was aiming for was, instant portability to Linux with one code base (of course with some refactoring like suggested be the original discussion initiator @ jechtom )...
I have create some add-on applications that reference KeePass binaries which I then could easily also use under Linux, my reason for asking.
Thank you for your time and effort for this great and useful application, nonetheless.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I searched for a thread like this just so I could see if there were plans to port. I do think there are some good reasons to upgrade:
1. Framework is basically dead and in support mode - everything is going core. C# 8 and new language features won't be included in Framework
2. Core 3 has some very cool features which would help users - the main one being we can now create an .exe that contains the entire runtime (no installing .net)
3. Core 3 is cross-platform, so the guts would run on linux and windows
I'm very familiar with .Net and wouldn't mind helping make the switch, so if you are interested let me know
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Quote from the article.
"If you have existing .NET Framework applications that you are maintaining, there is no need to move these applications to .NET Core."
cheers, Paul
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think I did a pretty good job in outlining why it is a good idea to upgrade, and I'm also willing to help. It looks like there is demand for this, too. @dreichl what do you think?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In my opinion, the disadvantages of a migration to .NET Core currently outweigh the advantages (for users!). This might change in the future, i.e. a migration might happen someday, but not now.
Best regards,
Dominik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Can you explain why? It seems there are multiple people telling you the same thing - it's BETTER for users for multiple reasons - latest security fixes, ability for truly portable executables, better for the developer community by allowing modern/more secure code and language features, compability etc. I'm willing to help, and searching around here it seems others are. Mono is going away with .Net 5 (out in less than a year) and I'm afraid if this project isn't upgraded (shouldn't be a lot of work to make all libraries .net standard compatible and then just make implementations in core or framework) it will die.
Do you have concrete reasons behind resisting updating this code? I guess you can just say no, but I'm assuming you actually have some reasoning behind it. Can you explain at all? Do you disagree with some of the things I and others have said?
👍
3
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
+1 for supporting .NET Core. Please. I love scripting KeePass functionality with PowerShell, but PowerShell on .NET has been in sustaining mode for years... and to get any sort of new support, you must switch to PowerShell Core (built on .NET Core). Unless KeePass is built with .NET Core, this won't work.
👍
3
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So... with .Net 5 a couple months away and no movement here, I'm starting to think the author isn't coming around. This thread started in 2016 and, while there may have been some points I agreed with at the time, in 2020 I haven't seen one reason to not move and quite a few reasons to update. It's really too bad. Anyone know of some alternatives?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So since 2016 the actual KeePass has no problems to run on even the newest Windows version.
So there is no real problem to solve.
And of course there are many alternatives.
Last edit: Horst 2020-09-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I suggest to split KeePassLib into 2 parts:
Core non-UI DLL responsible for cryptography and reading / writing DB - without reference to System.Drawing, WinForms etc.; can be used to directly access DB file; this should be alse quite easy to migrate to .NET 4 / .NET Core / Universal Apps
Application DLL responsible for localization, application and other UI specific tasks
Motivation:
To make future migration to new .NET CLR 4 easier
To be able to use KeePass DB file also from apps written in newer CLR
My goal:
Also what are plans for future development of KeePass? Is migration to newer .NET planned?
Last edit: Tomáš Jecha 2016-01-10
I'm not planning to "migrate" to .NET 4 in the near future (you probably mean to set the target .NET framework in the IDE to .NET 4). Although there are a few nice features in newer .NET versions, I don't think sacrificing .NET 2.0 compatibility is worth it. Note that KeePass ships with a configuration file that instructs .NET to run KeePass with .NET 4 / 4.5, if installed (.NET 2.0 is not required in this case).
Best regards,
Dominik
We already have a couple of online apps.
KeeWeb: https://antelle.github.io/keeweb/
BrowsePass: http://techualization.blogspot.de/2013/09/introducing-browsepass-keepass-on-web.html
cheers, Paul
I have an interest in .NET Core too. Since Dominik isn't going to do this anytime soon (with good reason), I invite you to have a look at https://github.com/dlech/KeePass2PCL. It is something I started a year ago with portable class libraries. I stopped working on it when the announcemets about the "new" .NET came out. I think coreclr and friends are far enough along that I could start working on it again, but change it to target coreclr instead of using PCLs.
Last edit: David Lechner 2016-01-10
Link is broken!
When a sentence ends with a raw URL, SourceForge assumes that the period ending the sentence is part of the URL. To prevent this, put the URL in angle brackets (which will disappear when the message is displayed): https://github.com/dlech/KeePass2PCL.
With Microsofts future plans for the .NET Framework (Talking about .NET Core aka .NET5) are there now any plans to "migrate"?
I'm not planning to migrate to anything else, because I currently don't see any benefit that justifies a migration. This might change in the future of course.
Best regards,
Dominik
I see. Thank you for your response.
Well the benefit I was aiming for was, instant portability to Linux with one code base (of course with some refactoring like suggested be the original discussion initiator @ jechtom )...
I have create some add-on applications that reference KeePass binaries which I then could easily also use under Linux, my reason for asking.
Thank you for your time and effort for this great and useful application, nonetheless.
Hi Dominik,
I searched for a thread like this just so I could see if there were plans to port. I do think there are some good reasons to upgrade:
1. Framework is basically dead and in support mode - everything is going core. C# 8 and new language features won't be included in Framework
2. Core 3 has some very cool features which would help users - the main one being we can now create an .exe that contains the entire runtime (no installing .net)
3. Core 3 is cross-platform, so the guts would run on linux and windows
I'm very familiar with .Net and wouldn't mind helping make the switch, so if you are interested let me know
Please consider switch to core.
If KeePass is here to stay, there is pretty much no alternative.
Why?
cheers, Paul
https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-net/
Quote from the article.
"If you have existing .NET Framework applications that you are maintaining, there is no need to move these applications to .NET Core."
cheers, Paul
That's how your applications becomes "legacy software"
If you are interested why I personaly would like to see a core implementation have a look over here: https://github.com/PSKeePass/PoShKeePass/issues/126
I think I did a pretty good job in outlining why it is a good idea to upgrade, and I'm also willing to help. It looks like there is demand for this, too. @dreichl what do you think?
In my opinion, the disadvantages of a migration to .NET Core currently outweigh the advantages (for users!). This might change in the future, i.e. a migration might happen someday, but not now.
Best regards,
Dominik
Can you explain why? It seems there are multiple people telling you the same thing - it's BETTER for users for multiple reasons - latest security fixes, ability for truly portable executables, better for the developer community by allowing modern/more secure code and language features, compability etc. I'm willing to help, and searching around here it seems others are. Mono is going away with .Net 5 (out in less than a year) and I'm afraid if this project isn't upgraded (shouldn't be a lot of work to make all libraries .net standard compatible and then just make implementations in core or framework) it will die.
Do you have concrete reasons behind resisting updating this code? I guess you can just say no, but I'm assuming you actually have some reasoning behind it. Can you explain at all? Do you disagree with some of the things I and others have said?
+1 for supporting .NET Core. Please. I love scripting KeePass functionality with PowerShell, but PowerShell on .NET has been in sustaining mode for years... and to get any sort of new support, you must switch to PowerShell Core (built on .NET Core). Unless KeePass is built with .NET Core, this won't work.
So... with .Net 5 a couple months away and no movement here, I'm starting to think the author isn't coming around. This thread started in 2016 and, while there may have been some points I agreed with at the time, in 2020 I haven't seen one reason to not move and quite a few reasons to update. It's really too bad. Anyone know of some alternatives?
So since 2016 the actual KeePass has no problems to run on even the newest Windows version.
So there is no real problem to solve.
And of course there are many alternatives.
Last edit: Horst 2020-09-11
Don't expect anything out of KeePass, development is basically stopped. It is maintained by a single developer really.
KeePassXC is the only similar type of software that has an actual active development schedule, it is not based on .NET unfortunately.
This is not true, there was a new release yesterday.
KeePass has always had a single developer, nothing has changed there.
cheers, Paul