Paket: paket restore failing in 5.201.2

Created on 10 Apr 2019  ยท  45Comments  ยท  Source: fsprojects/Paket

Description

Running paket restore on an existing solution results in an error on 5.201.2:

Resource stream 'Paket.Restore.targets' could not be found in the Paket.Core assembly

Running paket restore on the same project with 5.201.1 works.

Repro steps

Run a paket restore using version 5.201.2 on an existing solution.

Expected behavior

paket restore should run successfully.

Actual behavior

Paket failed with
-> Resource stream 'Paket.Restore.targets' could not be found in the Paket.Core assembly

Known workarounds

Use 5.201.1

Most helpful comment

thanks!!!!!

ok pushing this one as proper 5.202.0.

Sorry everyone. Now I need to find out what VS2017 makes special

All 45 comments

I'm seeing the same behavior. Any chance this release could be rolled back?

Me too.

Same here...causing a lot of issues on our build server that uses the bootstrapper to get the latest.

I agree with @WramblinWreck that this release should be rolled back or a new release should be made with a revert commit. If anyone is using paket in "Magic Mode" it breaks quite mysteriously on the build server. That is not that magic I expected ๐Ÿ˜ข

This has to do with the names of resources: The name of the resource has changed somehow from the simple version to the fully-qualified version. For example in my work application I had to make a function to prepend the expected namespace of an embedded resource to the 'simple name', like so:

let resourceName simpleName = sprintf "%s.%s" "My.Assembly.Fully.Qualified.Name" simpleName

I made a change recently to always get the targets file...but that has been in a while (since 5.201.0), so don't think that it's that.
Maybe we should make it check simple and fully qualified names.

Does anyone know how to pin the paket.exe version so that we can work around this?

The "extractElement" function in https://github.com/fsprojects/Paket/blob/master/src/Paket.Core/Installation/RestoreProcess.fs is where this error is coming from.

I'm not near a machine to put logic to handle simple and full resource names if anyone else is able ๐Ÿ‘

@BlythMeister I'm looking right now to prove my assertion above. On .net core I get the following resource names:

resource names: [|"Paket.Restore.targets"; "FSharpSignatureData.Paket.Core";
  "FSharpOptimizationData.Paket.Core"|]

which is what I expect to see (and what the code looks for), but I think on full-framework the behavior might be different. Having a hard time building on mono right now to validate that assertion though.

@baronfel Just from past experience, I've always had to use fully-namespaced paths in C# on .NET Framework.

Now I am confused: I finally got a good build on mono 5.23 and get the following results:

resource names: [|"Paket.Restore.targets"; "FSharpSignatureData.Paket.Core";
  "FSharpOptimizationData.Paket.Core"|]

these are the same as for .net core.

All of this makes sense as to why this mysteriously started happening.
Maybe @forki just needs to rebuild/release

These exe has dropped in size by approx 200kb in this 1 release...I'm not convinced the resources are in there ๐Ÿ™„

I downloaded the latest release and can confirm the resource is missing:

> let paketAssy = Assembly.LoadFrom(paketPath);;
val paketAssy : Assembly =
  paket, Version=5.201.2.0, Culture=neutral, PublicKeyToken=null

> paketAssy.GetManifestResourceNames();;
val it : string [] =
  [|"FSharpSignatureData.Paket.Core"; "FSharpOptimizationData.Paket.Core";
    "FSCore.resources"; "FSharpSignatureInfo.FSharp.Core";
    "FSharpOptimizationInfo.FSharp.Core"; "FSharpSignatureData.Argu";
    "FSharpOptimizationData.Argu"; "FSharpSignatureData.Chessie";
    "FSharpOptimizationData.Chessie"; "FSharpSignatureData.paket";
    "FSharpOptimizationData.paket"; "ILRepack.List"|]

Mystery solved...but now need someone to re-release...

oh my fucking god. something really bad happened after installing VS 2019

I'm trying to revert. and then please retry. But I assume this is unrelated to the changes I made

I don't think it's your changes.

ok please retry. and sorry for delay

At a guess...based on exe size still being down a few hundred kB...it might still be broken...not at a machine to test though.

Thanks for the fix, but the problem is still unsolved for me (tested on mac + windows)

ok. so VS fucked up my setup. ok. let me try to manually delete the last 2 versions

ok I removed the last 2 versions and in theory only 5.201.1 should be restored now.
But I still have no idea how to solve my issue.

People might need to clear the cached downloaded versions...not sure bootstrapper will downgrade paket...

ok reinstalling VS 2017. wish me luck

5.201.1 is functional. Thanks!
Removing existing paket.exe correctly allows bootstrapper to download the version that is working

@fangyi-zhou any chance you could also test 5.202.0-alpha001 in a couple of minutes? I'm about to push it and if it doesn't work I will delete it again, call it a day and go crying in my bed

Thanks everyone. Here I was all excited to install VS2019.... guess that won't be happening any time soon.

@forki Sure. Let me know when you push the tag

Tbf the issue is probably more that I uninstalled VS 2017 and that we seem to depend on something in that, which is not found automatically in VS 2019.

@fangyi-zhou ok the alpha version is released. please let me know

5.202.0-alpha001 works for me, on windows 10.

Works for me

thanks!!!!!

ok pushing this one as proper 5.202.0.

Sorry everyone. Now I need to find out what VS2017 makes special

ok 5.202.0 emergency release is out. Thanks everyone for helping and testing.
I now need to reevaluate some of the deplyoment ideas and maybe join @matthid's strategy how he releases FAKE.

You could always start a FAKE release after paket and revert paket changes if that fails ;)
(just in case people think I'm serious:) That obviously wouldn't work as people are complaining long before FAKE release process catches the problem ;)

I can only say it slows down the release process but increases the quality bar. And it's a bit of work to set it up...

Ok I think I know what happened.

I assume the FAKE version that we use to build paket doesn't know about vs

  1. Well tbf I'm very sure it does not. So when I uninstalled it, fake
    did some fall back to whatever older MSBuild version it was finding on my
    machine. For unfortunate reasons this other version compiled our projects just fine - except
    for one small string interpolation case in some C# integration test that I
    resolved manually. While changing that C# test I should have stopped, but I
    thought it's just a small glitch.

Anyway as we saw the result was much more severe.

Matthias Dittrich notifications@github.com schrieb am Mi., 10. Apr. 2019,
23:21:

You could always start a FAKE release after paket and revert paket changes
if that fails ;)
(just in case people think I'm serious:) That obviously wouldn't work as
people are complaining long before FAKE release process catches the problem
;)

I can only say it slows down the release process but increases the quality
bar. And it's a bit of work to set it up...

โ€”
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3550#issuecomment-481870218,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADgNPGIr_KXRrYkY6Bs8wy70a1uclNEks5vflX0gaJpZM4cnQnU
.

I've got a PR open in fake to make version 4 support vs2019

Link?

Oh, you merged it already...https://github.com/fsharp/FAKE/pull/2277

Then maybe I just need to update fake in order to get rid of 12GB Visual
Studio 2017 installation. But I will be very careful before I release.

Chris Blyth notifications@github.com schrieb am Do., 11. Apr. 2019, 07:58:

Oh, you merged it already...fsharp/FAKE#2277
https://github.com/fsharp/FAKE/pull/2277

โ€”
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3550#issuecomment-481976559,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADgNI6rHXZJ0mO0l2DS0NWiAMGPTHAcks5vfs8NgaJpZM4cnQnU
.

Or as a fallback, just install the build tools for 2017 not full blown vs.
On my Dev setup I have vs2019 and build tools for 2015 and 2017 ๐Ÿ‘

I released 5.203.0-alpha001 with updated FAKE and without VS2017 on my machine.
Can someone please confirm that it works?

works for me

thanks. so it looks like evrything is back to normal

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ModernRonin picture ModernRonin  ยท  7Comments

purkhusid picture purkhusid  ยท  8Comments

NatElkins picture NatElkins  ยท  6Comments

matthid picture matthid  ยท  6Comments

palutz picture palutz  ยท  6Comments