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
System.Runtime.InteropServices.RuntimeInformation fails to install in Classic PCL with NuGet 2.x #17966
Comments
Are there other packages in the same situation as well? |
I'm running into this issue using VS2015 Update 3 and both a Profile44 and Profile111 library. To repro: With VS 2015 Community Update 3 and NuGet 3.5
Could not install package 'System.Runtime.InteropServices.RuntimeInformation 4.0.0'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. |
To workaround use project.json in the PCL. |
That workaround doesn't work for VS 2013 or 2012. |
Yeah, keeping this bug open to track how to fix that. We could drop a reference assembly or some sort of default implementation into lib/netstandard1.1. |
Across all of our packages, if they have a ref with netstandard version 1.2 or lower, and no RID-less implementation, we should consider exposing a reference assembly or PlatformNotSupported assembly in lib/netstandard so that they can be used by profile-based portable w/ packages.config. |
Any update on this? |
No fix as of yet. Also adding @Priya91 to look at a potential lib/NETStandard1.1 implementation of RuntimeInformation that isn't platform specific. |
I've had luck installing a netstandard1.1 library into a PCL with Profile111 by not installing dependencies (NETStandard.Library). Everything I need is in the Available Assemblies https://developer.xamarin.com/guides/cross-platform/advanced/available-assemblies/ ... I've also had luck so long as I don't target the entire NETStandard.Library and instead use fine-grained package refs to only what I need (and obviously then those packages are compat) |
Looking into dropping windows implementation from runtimes to lib/netstandard1.1.. |
anything with this issue? i try to install via nuget autofac libraries with this message: |
Would be nice to get it fixed soon |
This work for me.
|
This is fixed in 1.1.0.. will be available in .net core 1.1 packages. |
@okosodovictor that worked for me too, thanks a lot man! |
Despite @Priya91's comment that it was fixed in 1.1.0, I had to follow @okosodovictor's suggestion before I got it working. |
When using @okosodovictor 's suggestion make sure that the dependency behaviour is set to 'Highest' in nuget package manager. |
This should make the DLL that we publish via NuGet as compatible with as many different consumers as possible. This creates a portable library that's usable from Mono, Xamarin, Windows Phone and Windows. Notably, it is *not* usable from Unity (which still uses an older runtime based on .net 3.5) but Unity has a separate packaging scheme and doesn't use NuGet. Note: according to the MS docs, I should just need a single dependency on "NETStandard.Library", but that doesn't work, apparently due to a bug in NuGet (https://github.com/dotnet/corefx/issues/10445). I've therefore used a workaround suggested in that bug report, and explicitly listed the various System.* packages we depend on.
@okosodovictor thank you very much, it worked to me My error was on installing sqlite-net-pcl in a solution with xamarin |
@okosodovictor Thank you man, this solved the issue while trying to install sqlite-net-pcl on xamarin studio on a xamarin.forms project. |
I was trying to use this with Xamarin Native targeting Profile 111 in PCL project. I was trying to install sqlite-net-pcl and it failed. After installing System.Runtime.InteropServices.RuntimeInformation first and then install sqlite-net-pcl, it worked like charm. :) 👍 thanks @okosodovictor |
Thanks @okosodovictor !! Like others here, I was installing sqlite-net-pcl for a Xamarin.Forms PCL project in Visual Studio 2017 and your suggestion worked perfectly. |
@okosodovictor You are the real MVP. |
Followed @okosodovictor advice, still could not install sqlite-net-pcl vs 2017. Just kidding. Forgot that package management console applies to one package at a time.... this worked. |
@kokomola your comment was deleted as a violation of the .NET Foundation Code of Conduct (adopted by CoreFX repo) as it was insulting/derogatory. You may consider this an official warning. |
The
System.Runtime.InteropServices.RuntimeInformation
package will fail to install on NuGet 2.x because there is nolib\netstandard1.1
version. There is only aruntimes\win\lib\netstandard1.1
version, but as NuGet 2.x doesn't understandruntimes
, it'll fail.This affects installing .NET Standard Libraries into a PCL Profile 111 as it's included by
NETStandard.Library
when evaluating dependencies for pcl profiles.To repro:
With VS 2013 and NuGet 2.12
S2Geometry
libraryActual results
The
S2Geometry
library is anetstandard1.0
library and follows the advice of having a dependency onnetstandard.library 1.6.0
./cc @ericstj
The text was updated successfully, but these errors were encountered: