claunia / plist-cil

C#/.NET parser for Apple and GnuStep Property List (aka plist), based on Java's dd-plist
Other
54 stars 17 forks source link

Release new version (1.16?) to support .NET Standard. #24

Closed JunielKatarn closed 7 years ago

JunielKatarn commented 7 years ago

Can these NuGet packages be updated to target more recent .NET platforms?

Trying to install 1.15 into a Xamarin.Forms project throws the following error:

Could not install package 'plist-cil 1.15.0'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile259', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

(Note, 1.14 works fine for the case above).

.NET Standard Class libraries of this type can't install any version of plist-cil with the following error:

Package plist-cil 1.14.0 is not compatible with netstandard1.4 (.NETStandard,Version=v1.4). Package plist-cil 1.14.0 supports: net (.NETFramework,Version=v0.0)
One or more packages are incompatible with .NETStandard,Version=v1.4.
Package restore failed. Rolling back package changes for 'ClassLibrary1'.
claunia commented 7 years ago

@JunielKatarn I'll do as soon as I can. In the meantime just use 1.14, 1.15 is just an update to support .NET Core there are no features differences.

JunielKatarn commented 7 years ago

Thanks! I'd be happy to help with it, but would need some pointers on how to build/test/package.

On Thu, Mar 16, 2017 at 2:52 PM, Natalia Portillo notifications@github.com wrote:

@JunielKatarn https://github.com/JunielKatarn I'll do as soon as I can

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/claunia/plist-cil/issues/24#issuecomment-287202336, or mute the thread https://github.com/notifications/unsubscribe-auth/AETGt25y0i0k09sKWGjADh_rkdlZcp1eks5rma8jgaJpZM4Mdy09 .

--

claunia commented 7 years ago

@JunielKatarn if you have VS2017 simply use GIT to take latest master (a recent commit adding more NETStandard versions have just been mered) and when building it (just choosing Debug or Release suffices) creates the corresponding DLLs as well as nuget packages for all targets at the same time. If there is any target missing it's just a thing of manually editing the .csproj files to add it as per the multi-targetting feature of VS2017. See b2a1f093b0e1503ddd6c7f3ce3832ebb4512f39e for an example, or MSDN documentation.

JunielKatarn commented 7 years ago

Update. Looks like, in order to support the PCL (Portable Class Library, .NETPortable) profile that I need (UWP, iOS, Android), the .NET Standard version required is 1.0.

A few references are not available for that version:

<PackageReference Include="System.IO.FileSystem" Version="4.3.0" />
<PackageReference Include="System.Reflection.TypeExtensions" Version="4.3.0" />
<PackageReference Include="System.Runtime.Serialization.Formatters" Version="4.3.0" />
<PackageReference Include="System.Xml.XmlDocument" Version="4.3.0" />
<PackageReference Include="System.Runtime.Numerics" Version="4.3.0" />
JunielKatarn commented 7 years ago

Hey @claunia, I have updated this issue. The current update to the target frameworks makes .NET Standard work fine, but it would be convenient to have an updated NuGet package to not need to rely on local builds.

claunia commented 7 years ago

@JunielKatarn sorry, before next release I want to get solved the issues found, and I've not been able to do for personal reasons. I'll do as soon as possible.

JunielKatarn commented 7 years ago

@claunia No worries. I understand it' hard to maintain side projects when free time is scarce. Actually, my usage of your library is a bit more hopeless than that. I'm trying to use it for a .NETPortable library (profile 259), which is equivalent to .NET Standard 1.0.

Even if you publish a new version with the current changes, the minimum supported .NET Standard would be 1.3. There are many APIs unavailable on 1.0 that plist-cil may need.

I'll stick to manual XDocument traversing for now :/.

claunia commented 7 years ago

Closed. https://github.com/claunia/plist-cil/releases/tag/v1.16 and https://www.nuget.org/packages/plist-cil?NormalizedVersion=1.16.0