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

.NET Core Support #65

Closed
robertmuehsig opened this Issue Nov 9, 2015 · 30 comments

Comments

Projects
None yet
@robertmuehsig
Contributor

robertmuehsig commented Nov 9, 2015

I just tried the .NET Portability Analyzer on the current and the vNext branch and it seems there are only a few code parts that needs to be changed to run it on .NET Core:

image

Have you any plans to support it?

Is your System.IO.Packaging the same code as in the CoreFX (which would run under .NET Core) repository or is this something "OpenXml" specific? https://github.com/dotnet/corefx/tree/master/src/System.IO.Packaging

@EricWhiteDev

This comment has been minimized.

Show comment
Hide comment
@EricWhiteDev

EricWhiteDev Nov 10, 2015

Collaborator

The System.IO.Packaging is the same - I wrote the new System.IO.Packaging such that it would work in .NET Core, and submitted it to COREFX, along with a different set of XUnit tests, so we are good-to-go on that front.

The Open XML SDK uses, in a few places, some deprecated classes (XmlTextReader IIRC) that are not in COREFX. It should be trivial to convert that code to use supported COREFX classes.

The big task in porting to COREFX is finishing some additional XUnit tests, so that we can validate functionality. I am currently in the process of madly writing XUnit tests. When I get to a point where running the XUnit tests gives us a good idea that the functionality of the SDK is good, then doing the port to COREFX and running the XUnit tests will be an easy task (I hope, but one never knows).

I'm assigning to myself, but don't expect anything for a month or two. I am on vacation for another week, and then expect to spend the following two weeks writing XUnit tests. Following that I am slated to do the port to Office 2016.

Collaborator

EricWhiteDev commented Nov 10, 2015

The System.IO.Packaging is the same - I wrote the new System.IO.Packaging such that it would work in .NET Core, and submitted it to COREFX, along with a different set of XUnit tests, so we are good-to-go on that front.

The Open XML SDK uses, in a few places, some deprecated classes (XmlTextReader IIRC) that are not in COREFX. It should be trivial to convert that code to use supported COREFX classes.

The big task in porting to COREFX is finishing some additional XUnit tests, so that we can validate functionality. I am currently in the process of madly writing XUnit tests. When I get to a point where running the XUnit tests gives us a good idea that the functionality of the SDK is good, then doing the port to COREFX and running the XUnit tests will be an easy task (I hope, but one never knows).

I'm assigning to myself, but don't expect anything for a month or two. I am on vacation for another week, and then expect to spend the following two weeks writing XUnit tests. Following that I am slated to do the port to Office 2016.

@JaredShaver

This comment has been minimized.

Show comment
Hide comment
@JaredShaver

JaredShaver Jan 20, 2016

Since the .NET Core ecosystem heavily relies on NuGet packages will issue #2 be addressed as part of this?

JaredShaver commented Jan 20, 2016

Since the .NET Core ecosystem heavily relies on NuGet packages will issue #2 be addressed as part of this?

@EricWhiteDev

This comment has been minimized.

Show comment
Hide comment
@EricWhiteDev

EricWhiteDev Jan 24, 2016

Collaborator

@JaredShaver It is possible that issue #2 will be addressed as part of this. It depends on how much extra work will be involved.

Collaborator

EricWhiteDev commented Jan 24, 2016

@JaredShaver It is possible that issue #2 will be addressed as part of this. It depends on how much extra work will be involved.

@adrien-constant

This comment has been minimized.

Show comment
Hide comment
@adrien-constant

adrien-constant Feb 4, 2016

I would really be interested in having the support for .NET Core.
My project had to drop dnx50 because of this. Thanks.

adrien-constant commented Feb 4, 2016

I would really be interested in having the support for .NET Core.
My project had to drop dnx50 because of this. Thanks.

@zoeysaurusrex

This comment has been minimized.

Show comment
Hide comment
@zoeysaurusrex

zoeysaurusrex Mar 24, 2016

Just curious to see how this is going. I'm in the same boat as @adrien-constant

zoeysaurusrex commented Mar 24, 2016

Just curious to see how this is going. I'm in the same boat as @adrien-constant

@kwaazaar

This comment has been minimized.

Show comment
Hide comment
@kwaazaar

kwaazaar Apr 10, 2016

.net core would be a GREAT plus, since it supports running our solutions on Mac, Linux and even Docker! It may even enhance performance, since .NET core makes some promises on that as well. :)

kwaazaar commented Apr 10, 2016

.net core would be a GREAT plus, since it supports running our solutions on Mac, Linux and even Docker! It may even enhance performance, since .NET core makes some promises on that as well. :)

@timbophillips

This comment has been minimized.

Show comment
Hide comment
@timbophillips

timbophillips May 17, 2016

+1 from me on this one

timbophillips commented May 17, 2016

+1 from me on this one

@xrkolovos

This comment has been minimized.

Show comment
Hide comment
@xrkolovos

xrkolovos May 23, 2016

now that we have the new NET Platform Standard system and .net core rc2 might be the time for this features.. :)
+1

xrkolovos commented May 23, 2016

now that we have the new NET Platform Standard system and .net core rc2 might be the time for this features.. :)
+1

@marspd

This comment has been minimized.

Show comment
Hide comment
@marspd

marspd Jun 22, 2016

Any progress on porting to .Net Core at all
+1

marspd commented Jun 22, 2016

Any progress on porting to .Net Core at all
+1

@xrkolovos

This comment has been minimized.

Show comment
Hide comment
@xrkolovos

xrkolovos Jun 25, 2016

rerun portability report
image

xrkolovos commented Jun 25, 2016

rerun portability report
image

@Supratentorial

This comment has been minimized.

Show comment
Hide comment
@Supratentorial

Supratentorial Jul 6, 2016

Any update on this?

Supratentorial commented Jul 6, 2016

Any update on this?

@xrkolovos

This comment has been minimized.

Show comment
Hide comment
@xrkolovos

xrkolovos Jul 6, 2016

Last night i created this. I tried out before for our project and it works fine.
Open XML SDK for NET Platform Standard 3 & .net Core

It's not proper code, but a first try to help this community. If someone wants to help i can add him to this repo.

xrkolovos commented Jul 6, 2016

Last night i created this. I tried out before for our project and it works fine.
Open XML SDK for NET Platform Standard 3 & .net Core

It's not proper code, but a first try to help this community. If someone wants to help i can add him to this repo.

@xrkolovos

This comment has been minimized.

Show comment
Hide comment
@xrkolovos

xrkolovos Jul 7, 2016

this might help more -> dotnet/corefx#9635

xrkolovos commented Jul 7, 2016

this might help more -> dotnet/corefx#9635

@ph1ll

This comment has been minimized.

Show comment
Hide comment
@ph1ll

ph1ll Jul 13, 2016

I am currently working on full .NET Core support under https://github.com/ph1ll/Open-XML-SDK/tree/netstandard. Please ignore the commit history as this is very much WIP and it is a bit of a mess, obviously there is a lot of work to do and I have been committing as I go along so I can easily revert if I break something. I will be rebasing before submitting a MR.

Main changes I had to make are:

  • Switching to dotnet style builds for simple and cross platform builds/tests
  • Update framework calls where required, mainly around changes in System.Reflection
  • Replace BinaryFormatter (I've had to add a custom tool to convert the schemas as they are generated outside of this repo, see #101 )
  • Updating unit tests so they are simpler. E.g. using xUnit Theory and can be easily called with dotnet test

Current status is, I have the main library building, and ~400 unit tests moved across. I have a few failing tests which I need to address. I will consider it complete when all tests are ported and working.

I would be keen to know the current state of this repo as development seems to have dried up since March. Ideally it would be good to see .NET Core support in this repo and official NuGet packages.

ph1ll commented Jul 13, 2016

I am currently working on full .NET Core support under https://github.com/ph1ll/Open-XML-SDK/tree/netstandard. Please ignore the commit history as this is very much WIP and it is a bit of a mess, obviously there is a lot of work to do and I have been committing as I go along so I can easily revert if I break something. I will be rebasing before submitting a MR.

Main changes I had to make are:

  • Switching to dotnet style builds for simple and cross platform builds/tests
  • Update framework calls where required, mainly around changes in System.Reflection
  • Replace BinaryFormatter (I've had to add a custom tool to convert the schemas as they are generated outside of this repo, see #101 )
  • Updating unit tests so they are simpler. E.g. using xUnit Theory and can be easily called with dotnet test

Current status is, I have the main library building, and ~400 unit tests moved across. I have a few failing tests which I need to address. I will consider it complete when all tests are ported and working.

I would be keen to know the current state of this repo as development seems to have dried up since March. Ideally it would be good to see .NET Core support in this repo and official NuGet packages.

@davidnmbond

This comment has been minimized.

Show comment
Hide comment
@davidnmbond

davidnmbond Aug 2, 2016

Hi All - I'm keen to get this up as a proper nuget package and am willing to contribute to a project which aims to do so.

xrkolovos, ph1ll,
Please let me know if I can help here. I have several packages up on Nuget already, so understand the general process here.

davidnmbond commented Aug 2, 2016

Hi All - I'm keen to get this up as a proper nuget package and am willing to contribute to a project which aims to do so.

xrkolovos, ph1ll,
Please let me know if I can help here. I have several packages up on Nuget already, so understand the general process here.

@xrkolovos

This comment has been minimized.

Show comment
Hide comment
@xrkolovos

xrkolovos Aug 4, 2016

If anyone wants to add him to my repo and help. I welcome him/her. Although the code is not ready i thing to add it in a nuget package. Better wait for an official one.

xrkolovos commented Aug 4, 2016

If anyone wants to add him to my repo and help. I welcome him/her. Although the code is not ready i thing to add it in a nuget package. Better wait for an official one.

@twsouthwick

This comment has been minimized.

Show comment
Hide comment
@twsouthwick

twsouthwick Nov 4, 2016

Collaborator

Work for this is being tracked by #111

Collaborator

twsouthwick commented Nov 4, 2016

Work for this is being tracked by #111

@xrkolovos

This comment has been minimized.

Show comment
Hide comment
@xrkolovos

xrkolovos Dec 5, 2016

help me understand because i am confused with all this issues about the same issue. Issue #111 is closed but this issue(#65) is still opened. What are the issues right now?
Thanks

xrkolovos commented Dec 5, 2016

help me understand because i am confused with all this issues about the same issue. Issue #111 is closed but this issue(#65) is still opened. What are the issues right now?
Thanks

@tomjebo

This comment has been minimized.

Show comment
Hide comment
@tomjebo

tomjebo Dec 5, 2016

Collaborator

@xrkolovos The porting for .Net Core is done and yet we are still working on the Nuget packaging. We are working on clearing up the issues list to take care of ones invalidated by the port.

Collaborator

tomjebo commented Dec 5, 2016

@xrkolovos The porting for .Net Core is done and yet we are still working on the Nuget packaging. We are working on clearing up the issues list to take care of ones invalidated by the port.

@MakanMakan

This comment has been minimized.

Show comment
Hide comment
@MakanMakan

MakanMakan Jan 4, 2017

Any news ?

MakanMakan commented Jan 4, 2017

Any news ?

@houseofcat

This comment has been minimized.

Show comment
Hide comment
@houseofcat

houseofcat Jan 5, 2017

@tomjebo
Would also very much appreciate an info update, no pressure intended. Export to XLSX is now on my agenda at work. Would like to provide them with a time estimate :)

Appreciate all the hard work! Thanks.

houseofcat commented Jan 5, 2017

@tomjebo
Would also very much appreciate an info update, no pressure intended. Export to XLSX is now on my agenda at work. Would like to provide them with a time estimate :)

Appreciate all the hard work! Thanks.

@twsouthwick

This comment has been minimized.

Show comment
Hide comment
@twsouthwick

twsouthwick Jan 5, 2017

Collaborator

@thyams @MakanMakan @xrkolovos There is now a nuget package available. It's a CI build (not supported for production use at the moment), but should get you unblocked to try things out. Please open new issues for any problems encountered.

Collaborator

twsouthwick commented Jan 5, 2017

@thyams @MakanMakan @xrkolovos There is now a nuget package available. It's a CI build (not supported for production use at the moment), but should get you unblocked to try things out. Please open new issues for any problems encountered.

@twsouthwick

This comment has been minimized.

Show comment
Hide comment
@twsouthwick

twsouthwick Jan 5, 2017

Collaborator

See the README for directions on the feed to use

Collaborator

twsouthwick commented Jan 5, 2017

See the README for directions on the feed to use

@houseofcat

This comment has been minimized.

Show comment
Hide comment
@houseofcat

houseofcat Jan 6, 2017

I implemented a generic spreadsheet. Submitting issue found as a new issue.

Thanks so much guys!

houseofcat commented Jan 6, 2017

I implemented a generic spreadsheet. Submitting issue found as a new issue.

Thanks so much guys!

@tomjebo

This comment has been minimized.

Show comment
Hide comment
@tomjebo

tomjebo Jan 25, 2017

Collaborator

Closing

Collaborator

tomjebo commented Jan 25, 2017

Closing

@tomjebo tomjebo closed this Jan 25, 2017

@Bridgeway

This comment has been minimized.

Show comment
Hide comment
@Bridgeway

Bridgeway Jul 4, 2018

Package 'SpreadsheetLight 3.4.9' was restored using '.NETFramework, Version=v4.6.1' instead of the project target framework '.NETCoreApp, Version=v2.1'

Given the above message after I installed from Nuget Gallery, assuming I don't run into any errors, is it still feasable to use this package in production release ?

Could I install the dll directly in the output folder (to stop the NuGet folder complaining ?)

Bridgeway commented Jul 4, 2018

Package 'SpreadsheetLight 3.4.9' was restored using '.NETFramework, Version=v4.6.1' instead of the project target framework '.NETCoreApp, Version=v2.1'

Given the above message after I installed from Nuget Gallery, assuming I don't run into any errors, is it still feasable to use this package in production release ?

Could I install the dll directly in the output folder (to stop the NuGet folder complaining ?)

@GeorgDangl

This comment has been minimized.

Show comment
Hide comment
@GeorgDangl

GeorgDangl Jul 4, 2018

As far as I know, SpreadsheetLight does not support .NET Core (or .NET Standard).
I've also used this before, but now have switched to ClosedXML and I'm quite happy with it.

GeorgDangl commented Jul 4, 2018

As far as I know, SpreadsheetLight does not support .NET Core (or .NET Standard).
I've also used this before, but now have switched to ClosedXML and I'm quite happy with it.

@Bridgeway

This comment has been minimized.

Show comment
Hide comment
@Bridgeway

Bridgeway Jul 4, 2018

So .NET core 2.1 doesn't have any equivalent to
System.Threading.Tasks;
System.Security.Cryptography;
System.IO;

???

Bridgeway commented Jul 4, 2018

So .NET core 2.1 doesn't have any equivalent to
System.Threading.Tasks;
System.Security.Cryptography;
System.IO;

???

@twsouthwick

This comment has been minimized.

Show comment
Hide comment
@twsouthwick

twsouthwick Jul 5, 2018

Collaborator

@Bridgeway For your first question, v4.6.1 was restored because there is not a .NET Standard or .NET Core version available. .NET Core 2.x supports .NET Framework libraries; however, if an API does not exist, it will throw a MissingMethodException. This allows older libraries that do not have modern support to be able to run on newer runtimes - you are just on the hook to test to ensure any paths that use unavailable APIs are known. You can use ApiPort to see if the library has APIs not available on .NET Core.

So .NET core 2.1 doesn't have any equivalent to
System.Threading.Tasks;
System.Security.Cryptography;
System.IO;
???

.NET Core 2.1 does support these (see http://apisof.net). The better question would be for specific APIs (ie classes or even members). For that, again, I'd suggest using ApiPort.

Collaborator

twsouthwick commented Jul 5, 2018

@Bridgeway For your first question, v4.6.1 was restored because there is not a .NET Standard or .NET Core version available. .NET Core 2.x supports .NET Framework libraries; however, if an API does not exist, it will throw a MissingMethodException. This allows older libraries that do not have modern support to be able to run on newer runtimes - you are just on the hook to test to ensure any paths that use unavailable APIs are known. You can use ApiPort to see if the library has APIs not available on .NET Core.

So .NET core 2.1 doesn't have any equivalent to
System.Threading.Tasks;
System.Security.Cryptography;
System.IO;
???

.NET Core 2.1 does support these (see http://apisof.net). The better question would be for specific APIs (ie classes or even members). For that, again, I'd suggest using ApiPort.

@twsouthwick

This comment has been minimized.

Show comment
Hide comment
@twsouthwick

twsouthwick Jul 5, 2018

Collaborator

Also, feel free to open a new issue if you encounter any with the SDK. This issues has been closed for a while and it's nice to keep each issue to its own thread.

Collaborator

twsouthwick commented Jul 5, 2018

Also, feel free to open a new issue if you encounter any with the SDK. This issues has been closed for a while and it's nice to keep each issue to its own thread.

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