.NETStandard 2.0 packages: No usable .NET assemblies in package

Hey, I’m trying to consume the aspnetcore-dev MyGet feed for prerelease version of ASP.NET Core and related packages.

In particular, I’m trying to load the following packages:

https://dotnet.myget.org/feed/aspnetcore-dev/package/nuget/Microsoft.EntityFrameworkCore
https://dotnet.myget.org/feed/aspnetcore-dev/package/nuget/Microsoft.Extensions.Logging
https://dotnet.myget.org/feed/aspnetcore-dev/package/nuget/Microsoft.Extensions.Configuration

I keep getting the error message “There are no usable .NET assemblies in package 'XY'.” regardless of which version I attempt to download.

I assume this may be an error with the .NET framework version since those prerelease packages need .NETStandard 2.0. So I made sure that I have the .NET Framework 4.7 installed (which should implement .NETStandard 2.0) and tried the latest LINQPad beta, but that didn’t help.

Is there some fix required in LINQPad to make this work, or am I doing something wrong?

Comments

  • I am working on this at the moment. It seems I need to upgrade LINQPad from using NuGet 3 to NuGet 4. This is non-trivial as several things have changed, and there's little documentation on how to use the internals of NuGet.
  • I figured something like that was necessary to do. It’s not a pressing issue for me right now, but I’m glad to hear that you are on it! Thanks a lot! :)
  • I'm running into this issue also. It's a tad more pressing for me, as I use this tool extensively for questions on my library. My library is now netstandard2.0 only.
  • Try the latest beta - it uses NuGet 4, which should solve the problem. Let me know if there's still an issue.
  • edited September 4
    @JoeAlbahari I have the latest beta installed and I am now able to add nuget packages that target NETStandard2.0 but I am not really able to use them.

    For example:
    1) Add Microsoft.Extensions.DependencyInjection 2.0.0 (which used to not be possible in the previous version of LINQPad).
    2) Notice that there are no namespaces that can be added, but go ahead and add the namespace "Microsoft.Extensions.DependencyInjection" manually
    3) Notice that when you try to use the "ServiceCollection" class, most of the methods and extension methods are not displayed, and you get the following error:

    image

    4) So, then I try and add the netstandard 2.0 nuget package, and I get the following error:

    image

    Thanks!
  • Ugh, netstandard is kind of a mess with things breaking as soon as you’re outside of a netcoreapp. Some issues which are related to the above problem, or which may become a problem once you figure out how to solve those:

    https://github.com/dotnet/sdk/issues/1220
    https://github.com/dotnet/sdk/issues/1267
    https://github.com/dotnet/sdk/issues/1488
    https://github.com/dotnet/msbuild/issues/2481

    Wish I could help more than that. I have some idea how to work with the stuff using project files now, but I have no idea how that could be applied to however LINQPad compiles stuff :/
  • Thanks for the links. Being a scratchpad, LINQPad uses the standard Roslyn tool chain, not MSBuild. This might make a solution challenging. I'm speaking at conferences this week and next; after that I will give this priority and see if I can find some kind of workaround.
  • I've just uploaded a new beta with significant changes to improve compatibility with .NET Standard 2.0. You won't need to add a reference to NETStandard.Library as the required library is now added automatically.

    https://www.linqpad.net/download.aspx#beta

    If you're still having trouble, please run the following query to determine the exact framework version:
    http://share.linqpad.net/37mvfc.linq

    and also tell me your OS version.

    Thanks
  • Hey Joe, thanks for the update, this is really looking good so far.

    I’m just hitting one more error, which I have fortunately already seen myself. Exactly this one: https://github.com/aspnet/Logging/issues/697

    It seems that LINQPad needs to be set up to generate binding redirects by default. Of course, again no idea how you do that without MSBuild ;D
  • Are you sure it's the exact same error?

    When I consume Microsoft.Extensions.Logging.Console, I get a different error - that System.Runtime.InteropServices.RuntimeInformation cannot be found - not that it has an invalid manifest.

    I've uploaded a new build that fixes the file-not-found error. Can you please test this and let me know. If you're still getting an error, I might be able to fix it if you can post a step-by-step repro.
  • Oh, you’re right, I wasn’t looking at the exception properly and just assumed it was the one I saw before. I did get a FileNotFoundException as well, yes, and the latest beta does work for me.

    I’ll let you know if I encounter any other problem, but I’ll assume that it is working fine now (until the next NuGet Update? >_<"). Thanks a lot for your help!
  • The new build is working for me. Thanks Joe! You rock! :smile:
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!