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

RoboSharp Going Forward... #63

Closed
tjscience opened this issue Aug 19, 2018 · 5 comments
Closed

RoboSharp Going Forward... #63

tjscience opened this issue Aug 19, 2018 · 5 comments

Comments

@tjscience
Copy link
Owner

tjscience commented Aug 19, 2018

Hi All,

There has been a lot of confusion and back and forth on the topic of how to properly structure the RoboSharp project going forward, mainly with respect to support for older targets and moving into the future by utilizing the newer targets. While I do agree that we should be moving toward the future, one of the (albeit invisible) tenants of this project was to design it in such a way that it would be backward compatible to a pretty good degree with older versions of .NET. So, I do not want to simply force everyone in the future to use VS 2017 and a .NET Standard, for example.

That being said, I would like to open up this topic for discussion from the people that have contributed to this project, use it, or simply want to offer up their two cents. My main goal here is to get a discussion going on how we should structure the project for the future to support modern targets as well as older versions of .NET.

Please, if you have time, let me know what you think...

image

@PCAssistSoftware
Copy link
Collaborator

I personally (and I suspect others will disagree) think most projects should support the newest reliable version of .NET available. I appreciate some people want backward compatibility, but usually newer versions of .NET bring better reliability and new features that projects can make use of to make them even better. Whatever you decide keep up the good work, as this project is so useful to me

@eliaspizarro
Copy link

by other hand, older versions of framework provides compatibility like windows server 2003, 2008, ...

@tjscience
Copy link
Owner Author

I have restructured the app in a much more modern way thanks to some generous contributions! With this new project structure, we have support for: .net standard 2.0, .net core 2.0, .net 4.5, and .net 4.0. If someone needs another framework supported and it is a one-off, they can very easily add that in a clone of the project with it's new structure. I still do not have a handle on how this is going to work in nuget, but I will work that out as I commit.

tjscience added a commit that referenced this issue Sep 15, 2018
@LucasFarley
Copy link

It is a good solution. Congratulation.

bernatpi added a commit that referenced this issue Feb 20, 2020
* Added result object:

* Create CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update README.md

* Update RoboCommandCompletedEventArgs.cs

* Update RoboSharp.sln

* Update RoboCommand.cs

When the process was cancelled by .Stop() the GetResults().Status.ExitCodeValue will be set to -1 indicating that the results are not valid.

* This resolves #66 and references #63

* Fixed issue with appveyor build failing.

* Changed nuget version to 1.2.0

* Update RoboSharp.csproj

* Update README.md

* Update CopyOptions.cs

* Update RetryOptions.cs

* Update README.md

* Update RoboCommand.cs

* Update RoboSharp.csproj

* Update README.md

* Update README.md

* Update CONTRIBUTING.md

* Update CopyOptions.cs

* Update MainWindow.xaml.cs

* Update CopyOptions.cs

* Update RoboCommand.cs

* Added speed statistics to results object.

* Add speed statistics information to RoboCopyResults.ToString()

* Uncomment method 'StartAsync' (conditional compilation only for .NET Framework 4.5)

* Call 'Dispose()' on the RoboCommand object when cancelling to free
resources.

* SpeedStatistic: Add support for comma as decimal separator.

Co-authored-by: alex-becker-startp <33520708+alex-becker-startp@users.noreply.github.com>
Co-authored-by: Terry Phillips <terry.w.phillips@gmail.com>
Co-authored-by: Bernat Pi <bernatpi@gmail.com>
tjscience added a commit that referenced this issue Oct 26, 2020
* Merged CONTRIBUTING.md into dev (#47)

* Create CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update README.md

* Issue #51 (#52)

* Added CleanDirectoryPath

* Removed directory path cleaning

* Directory path cleaning on the property setters

Changed Destination and Source properties:
  Added backing field
  Call CleanDirectoryPath() on setters

* Update ExtensionMethods.cs

* Update ExtensionMethods.cs

* Update ExtensionMethods.cs

* fix #31 - Make .net standard project with net4 and net45 targets - Spike for discussion (#57)

* Change to .net 4

* Add both net4 and net45 .net standard template plus make nuget

* Add interface so it can be used with ioc

* Fix csproj

* Improve default IGP

#687

* Make everything use the task.factory and make low priority

#687

* Update README.md

* Fix #56: Change FileFilter to list and ensure proper quoting (#80)

* Fix #56: Replace FileString with a list of strings and ensure proper quoting.

* Ensure RoboSharp.Start() does not complete before OnCommandCompleted (Fix #54)

* Update RoboSharp.csproj

* Add Robocopy error code to 'OnError' event and Robocopy exit code to 'OnComandCompleted' event. (fix #33) (#81)

* Fix CopyOptions porperty summaries and typo in CONTRIBUTING (#68)

* Fix inconsistency in CopyFlags property summary

The default value for copyflags is DAT (data, attributes, and time stamps).
Added the 'T'

* Fix typo

Here are some hopefully straight-forward guidelines to do so.
Added the 'i' in "straight"

* Fix RemoveAttributes property summary

This property indicates attributes to delete, not to add. -> Removes the specified attributes from copied files.

* New dev base for wingers and bernatpi to work on (#82)

* Added result object:

* Create CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update README.md

* Update RoboCommandCompletedEventArgs.cs

* Update RoboSharp.sln

* Update RoboCommand.cs

When the process was cancelled by .Stop() the GetResults().Status.ExitCodeValue will be set to -1 indicating that the results are not valid.

* This resolves #66 and references #63

* Fixed issue with appveyor build failing.

* Changed nuget version to 1.2.0

* Update RoboSharp.csproj

* Update README.md

* Update CopyOptions.cs

* Update RetryOptions.cs

* Update README.md

* Update RoboCommand.cs

* Update RoboSharp.csproj

* Update README.md

* Update README.md

* Update CONTRIBUTING.md

* Update CopyOptions.cs

* Update MainWindow.xaml.cs

* Update CopyOptions.cs

* Update RoboCommand.cs

* Added speed statistics to results object.

* Add speed statistics information to RoboCopyResults.ToString()

* Uncomment method 'StartAsync' (conditional compilation only for .NET Framework 4.5)

* Call 'Dispose()' on the RoboCommand object when cancelling to free
resources.

* SpeedStatistic: Add support for comma as decimal separator.

Co-authored-by: alex-becker-startp <33520708+alex-becker-startp@users.noreply.github.com>
Co-authored-by: Terry Phillips <terry.w.phillips@gmail.com>
Co-authored-by: Bernat Pi <bernatpi@gmail.com>

* Update README.md

* Update CopyOptions.cs

* Update RetryOptions.cs

* Update LoggingOptions.cs

* Expanded VersionManager to include a better way to check for the OS version using RtlGetVersion as opposed to WMI. Added the ability to set the method used for version checking on the VersionManager class (VersionCheck). Fixes #84.

* Update README.md

Add examples for accessing extended results / statistics

* Update MainWindow.xaml.cs

Added example of getting extended results / stats to OnCommandCompleted event

* Added warning to /NFL switch

* Added warning to /NJS switch

* Update LoggingOptions.cs

* Update CopyOptions.cs

removed hard coded values added during testing (IPG and MT)

* Update RoboCommand.cs

Added isRunning boolean so can easily see when copy is in progress, needed when running multiple copies one after the other from GUI

* Update RoboCommand.cs

Co-authored-by: thekingofspain <thekingofspain@users.noreply.github.com>
Co-authored-by: Rik Svendsen Rose <rsr@gait.dk>
Co-authored-by: Bernat Pi <bernatpi@gmail.com>
Co-authored-by: Bernat Pi <bernat.pi@diurnus.com>
Co-authored-by: Marco Habegger <taysumimarco@gmail.com>
Co-authored-by: wingers999 <darren.rose@pcassistonline.co.uk>
Co-authored-by: alex-becker-startp <33520708+alex-becker-startp@users.noreply.github.com>
@PCAssistSoftware
Copy link
Collaborator

Not sure this discussion really relevant now?

Over five years have passed since this topic was started, and the project has definitely developed and moved forward really well during that time, thanks to some fantastic input from some of the contributors we have support for .NET 6.0 and continue to support .NET Framework 4.5.2+ as well, which covers the discussion really of this topic.

And many new features and improvements have been added too.

Therefore I suggest we close this issue? and will do so shortly unless I hear to the contrary. :)

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

No branches or pull requests

4 participants