GithubHelp home page GithubHelp logo

.NET Core Port about taskscheduler HOT 14 CLOSED

dahall avatar dahall commented on May 18, 2024 2
.NET Core Port

from taskscheduler.

Comments (14)

dahall avatar dahall commented on May 18, 2024

I'm mostly there with the project updates I just posted. I now just need to figure out how to build both the .NET Standard assembly and the multiple .NET Framework assemblies at the same time. All the files and project are updated and I just have the .NET Standard build line commented out.

from taskscheduler.

droyad avatar droyad commented on May 18, 2024

@dahall Just add netstandard2.0 into existing TargetFrameworks element in https://github.com/dahall/TaskScheduler/blob/master/TaskService/TaskService.csproj#L4

from taskscheduler.

dahall avatar dahall commented on May 18, 2024

Done, and it works. You have to add it after the .NET Framework builds or VS has a problem. I just checked in those changes. I will do some testing and tweaks to make sure the disabled features fail gracefully and then release a NuGet package with the support.

from taskscheduler.

droyad avatar droyad commented on May 18, 2024

oh, Awesome! Thanks for that. Interesting about the order, I did have an issue where the restore didn't work.

from taskscheduler.

dahall avatar dahall commented on May 18, 2024

Just a status update: I am waiting to push the code until I can adequately test it in a UWP or console app. I can't do that until MS releases VS 2017 15.4. So, as soon as that update comes out, I will test and then release a NuGet with netstandard2.0 included.

from taskscheduler.

dahall avatar dahall commented on May 18, 2024

I figured out a way to test ahead of VS15.4 and have run into a big problem. .NET Standard 2.0 does not support COM IEnumerable. This interfaces is used extensively by Microsoft in the base library. I'm looking for work arounds, but, so far, have come up empty. This may need to be put on hold until MS added COM support to .NET Standard. Thoughts?

from taskscheduler.

droyad avatar droyad commented on May 18, 2024

Which part of the code has those IEnumerables?

from taskscheduler.

dahall avatar dahall commented on May 18, 2024

The native COM objects IActionCollection, ITriggerCollection, IRegisteredTaskCollection and IRunningTaskCollection are all native COM interfaces that support a special COM version of IEnumerable. The .NET interop code that handles working with COM doesn't implement that special IEnumerable so it can't convert it to the .NET version.

from taskscheduler.

kswierszczyk avatar kswierszczyk commented on May 18, 2024

Same issue w/ the IEnums. I'll be looking at possible solutions also as I'd like to migrate a project to .NET core. Has there been any word from Microsoft as to whether they'll be adding COM support to .NET Standard?

from taskscheduler.

dahall avatar dahall commented on May 18, 2024

Microsoft has not even hinted as of today on what will be a part of the next .NET Standard release.

from taskscheduler.

droyad avatar droyad commented on May 18, 2024

It looks like they don't intend to support GetEnumerator(), https://github.com/dotnet/corefx/issues/19731

However, I think I have found a work around. It works for the TestTaskServiceConsole app. See PR #35

from taskscheduler.

dahall avatar dahall commented on May 18, 2024

Wow. Thanks for this workaround. How comfortable are you that the changes in your PR do not change any of the API (breaking change)? I'd be glad to just pull them straightway, but don't want to break anyone's existing code.

from taskscheduler.

dahall avatar dahall commented on May 18, 2024

Added to release 2.7.2! Thanks for your help.

from taskscheduler.

droyad avatar droyad commented on May 18, 2024

@dahall No worries. I didn't test all the methods, just the enumerating the tasks. I did just realise that I incorrectly 0 indexed the other arrays, but it doesn't look like that made it into master.

Thanks, I'll try it out!

from taskscheduler.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.