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

Regression: VCProj failed with "Unable to parse ProjectReference" #1657

Closed
tommysu opened this Issue May 3, 2016 · 8 comments

Comments

Projects
None yet
4 participants
@tommysu

tommysu commented May 3, 2016

Description

Please provide a succinct description of your issue.

We updated to 2.63.2.0 from 2.54.0.0 and our vcproj with references to boost is failing to parse.

Paket failed with:
unable to parse ProjectReference
StackTrace:
at Paket.ProjectFileModule.forceGetInnerText@1061-5.Invoke(String message)
at Paket.ProjectFileModule.getInterProjectDependencies@1063.GenerateNext(IEnumerable1& next) at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase1.MoveNextImpl()
at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable1 source) at Paket.InstallProcess.dependencies@206-11[a](GroupName groupName, FSharpFunc2 findDependencies, Dictionary2 projectCache, Dictionary2 dependencyGraph, Dictionary2 referenceFiles, ProjectFile projectFile) at Paket.InstallProcess.applyBindingRedirects@223-3.Invoke(ProjectFile projectFile) at Paket.BindingRedirects.applyBindingRedirectsToFolder@166.Invoke(ProjectFile projectFile) at Microsoft.FSharp.Collections.SeqModule.Iterate[T](FSharpFunc2 action, IEnumerable1 source) at Paket.InstallProcess.InstallIntoProjects(InstallerOptions options, Boolean forceTouch, DependenciesFile dependenciesFile, LockFile lockFile, FSharpList1 projectsAndReferences)
at Paket.UpdateProcess.SmartInstall(DependenciesFile dependenciesFile, UpdateMode updateMode, UpdaterOptions options)
at <StartupCode$Paket-Core>.$PublicAPI.Install@170.Invoke(Unit unitVar0)
at Paket.Utils.RunInLockedAccessMode[a](String rootFolder, FSharpFunc2 action) at Paket.Program.handler@340-11.Invoke(ParseResults1 results)
at Paket.Program.processWithValidation[T](FSharpFunc2 validateF, FSharpFunc2 commandF, Command command, String[] args)
at Paket.Program.processCommand@61-1.Invoke(Command command, String[] args)
at Paket.Program.main()

Repro steps

Please provide the steps required to reproduce the problem

  1. Create a vcproj with 2.54..0.0 with native project reference to Boost
  2. run paket install
  3. Build
  4. Upgrade to 2.63.2.0
  5. run paket install

Expected behavior

paket install to run correctly

Actual behavior

Error on paket install that "Unable to parse ProjectReference"

Known workarounds

Go back to the older version

Related information

  • Operating system
    Windows 10
  • Branch
  • .NET Runtime, CoreCLR or Mono Version
    .net 4.6
  • Performance information, links to performance testing scripts

@tommysu tommysu changed the title from VCProj failed with "Unable to parse ProjectReference" to Regression: VCProj failed with "Unable to parse ProjectReference" May 3, 2016

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki May 4, 2016

Member

can you send me such a broken csproj file?

Member

forki commented May 4, 2016

can you send me such a broken csproj file?

@forki forki added the needs-repro label May 4, 2016

@acmore

This comment has been minimized.

Show comment
Hide comment
@acmore

acmore May 4, 2016

Hi it's not necessary c# project. Seems that paket cannot parse the project reference. Here is a sample repo.

TestPaket.zip

acmore commented May 4, 2016

Hi it's not necessary c# project. Seems that paket cannot parse the project reference. Here is a sample repo.

TestPaket.zip

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki May 4, 2016

Member

I can't reproduce with the zip. What do I need to do exactly?

Member

forki commented May 4, 2016

I can't reproduce with the zip. What do I need to do exactly?

@konste

This comment has been minimized.

Show comment
Hide comment
@konste

konste May 4, 2016

Contributor

Typically "Paket Install" was crashing. We figured undocumented (?) --Verbose option, and it gives us call stack at the time of the crash. What else can we do to get more specific information about the caus of the problem?

Contributor

konste commented May 4, 2016

Typically "Paket Install" was crashing. We figured undocumented (?) --Verbose option, and it gives us call stack at the time of the crash. What else can we do to get more specific information about the caus of the problem?

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki May 4, 2016

Member

How can I reproduce that with the zip? install works for me

Member

forki commented May 4, 2016

How can I reproduce that with the zip? install works for me

@konste

This comment has been minimized.

Show comment
Hide comment
@konste

konste May 4, 2016

Contributor

New repro created (attached). I think the culprit is that referenced project is a static library.
UnableToParseProjectReference.zip

Contributor

konste commented May 4, 2016

New repro created (attached). I think the culprit is that referenced project is a static library.
UnableToParseProjectReference.zip

@konste

This comment has been minimized.

Show comment
Hide comment
@konste

konste May 4, 2016

Contributor

I don't know what Paket is trying to do with the Project reference, but in this case it is used solely to establish project build order and I believe may be safely ignored by paket. Just don't crash on it.

Contributor

konste commented May 4, 2016

I don't know what Paket is trying to do with the Project reference, but in this case it is used solely to establish project build order and I believe may be safely ignored by paket. Just don't crash on it.

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki May 5, 2016

Member

I can reproduce. thanks

Member

forki commented May 5, 2016

I can reproduce. thanks

@forki forki added bug and removed needs-repro labels May 5, 2016

@forki forki closed this in 8c68c1e May 5, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment