Cannot build successfully with 5.1.9: "Failed to get package version for assembly"

avatar's Avatar

avatar

23 Apr, 2018 06:19 PM

Full error message as follows:

1>Executing "dotnet" C:\ProgramData\PostSharp\5.1.9\bin.Release\postsharp-netstandard20.dll obj\Debug\netcoreapp2.0\Before-PostSharp\Referrer.dll C:\Working\Repro\NoVersion\Referrer\obj\Debug\netcoreapp2.0\PostSharp\postsharp.config /config C:\ProgramData\PostSharp\5.1.9\bin.Release\postsharp-netstandard20.dll.config /NoLogo /InstallVsx /cancel:Local\postsharp-cancel-13e7f534-b821-4f74-91a2-e89adaafc9b8
1>POSTSHARP(0,0): Error: error: Unhandled exception (postsharp-netstandard20.dll release | .NET Core 2.0.6): Failed to get package version for assembly 'C:\Working\Repro\NoVersion\GateKeeper.API\bin\Debug\netstandard2.0\GateKeeper.API.dll'. See below for details.
1>POSTSHARP(0,0): Error: PostSharp.Sdk.AssertionFailedException: Failed to get package version for assembly 'C:\Working\Repro\NoVersion\GateKeeper.API\bin\Debug\netstandard2.0\GateKeeper.API.dll'.
1>POSTSHARP(0,0): Error: at PostSharp.Sdk.CodeModel.Binding.PackageProjectReference.^zfH7YSbV(PlatformInfoFactory _0, String _1, PlatformInfo _2)
1>POSTSHARP(0,0): Error: at ^rU5MGTYD9kxo.^bhV8(String _0)
1>POSTSHARP(0,0): Error: at PostSharp.Sdk.Extensibility.Project.^pFnf8wEt(ProjectConfiguration[] _0, ProjectInvocationParameters _1)
1>POSTSHARP(0,0): Error: at PostSharp.Sdk.Extensibility.Project.^pFnf8wEt(ProjectInvocationParameters _0)
1>POSTSHARP(0,0): Error: at PostSharp.Sdk.Extensibility.Project.LoadProject(ProjectInvocationParameters projectInvocationParameters, Domain& domain)
1>POSTSHARP(0,0): Error: at PostSharp.Hosting.PostSharpObject.InvokeProject(ProjectInvocation projectInvocation)
1>POSTSHARP(0,0): Error: at PostSharp.Hosting.Program.ExecuteImpl()
1>The process dotnet exited with code 12.

I've included a repro project below, but other than that, I'm deeply confused as to what the cause might be - because if I create an essentially identical project from scratch rather than the one I cut down to a single empty class to make the repro project, it doesn't seem to happen.

-c

  1. Support Staff 1 Posted by PostSharp Techn... on 25 Apr, 2018 10:28 PM

    PostSharp Technologies's Avatar

    Hello,

    Thank you for reporting this issue. We have filed a bug (#16036) and we'll get back to you once we have more information.

    -alex

  2. 2 Posted by pisethd on 01 May, 2018 05:57 PM

    pisethd's Avatar

    Is there an update for this? I have a similar problem.

  3. Support Staff 3 Posted by PostSharp Techn... on 02 May, 2018 08:51 AM

    PostSharp Technologies's Avatar

    Hello, the cause of this bug in case of Alistair is that there is a NuGet package GateKeeper.API.3.0.0.nupkg of the GateKeeper.API project in the bin folder. PostSharp then wrongly assumes that the reference assembly GateKeeper.API.dll is comming from a NuGet package, which is not the case.

    I assume that the NuGet package there is comming from the dotnet pack command (or msbuild GateKeeper.API.csproj /t:Pack). To work around this issue, you can set the PackageOutputPath MSBuild property to a path, which is not part of the path to the GateKeeper.API.dll file, for example <PackageOutputPath>$(OutputPath)nuget</PackageOutputPath>. (This way, your package will be stored in NoVersion\GateKeeper.API\nuget.

    Piseth, does this work-around work in your case? If not, are you using PostSharp 5.1.9? We have fixed a bug of NuGet package version parsing there. If you do use this version and the work-around doesn't work for you, could you please also share a project reproducing your issue?

    Best regards,
    -tony

  4. 4 Posted by avatar on 03 May, 2018 07:31 PM

    avatar's Avatar

    Thanks! That workaround seems to solve that problem.

  5. 5 Posted by barathk913 on 14 May, 2018 08:03 AM

    barathk913's Avatar

    Hi Postsharp team/avatar,

    i have a similar problem, can you please let me know where exactly we need to do the workaround which you mentioned. i mean in which file we need to do the workaround changes.

    eg-.csproj,psproj,exc..,

    Also it would be really help if you can share any sample file which contains this workaround.

    thank you in advance.

  6. Support Staff 6 Posted by PostSharp Techn... on 15 May, 2018 01:59 PM

    PostSharp Technologies's Avatar

    Hello,

    You can set the PackageOutputPath in the *.csproj file. for example:

    <PropertyGroup>
      <PackageOutputPath>$(OutputPath)nuget</PackageOutputPath>
    </PropertyGroup>
    

    Best regards,
    Alex

  7. 7 Posted by PostSharp User1 on 21 May, 2018 06:05 PM

    PostSharp User1's Avatar

    @Alex This doesn't work. It has no effect. The nuget package is still created in the same place.

  8. Support Staff 8 Posted by PostSharp Techn... on 22 May, 2018 01:33 PM

    PostSharp Technologies's Avatar

    Hello, this work-around is for dotnet pack command. Do you use this command to create your nuget package? If not, which way do you use? If yes, please create a new discussion and explain in detail the way to reproduce your problem. It would also help us if you could share your project with us.

    Best regards,
    -tony

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Already uploaded files

  • NoVersion.zip 485 KB

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac