Giter Site home page Giter Site logo

Comments (7)

AndrewPearson avatar AndrewPearson commented on August 13, 2024 1

A description of the use of <GlobalPackageReference> is available here

from buildalyzer.

phmonte avatar phmonte commented on August 13, 2024

@AndrewPearson, I tried to reproduce the problem and it worked, do you have an example of the project?

from buildalyzer.

AndrewPearson avatar AndrewPearson commented on August 13, 2024

Hi @phmonte,
Thanks for looking into this (great project btw).

I found this issue while using a dotnet tool called snitch, which makes use of buildalyzer. I did also report the issue on that project (spectresystems/snitch#39)

To replicate the problem:

  • create a new dotnet solution with a template 'hello world' console project. I'm using .Net 8.
  • add a Directory.Packages.props file containing the following:
<Project>
  <PropertyGroup>
    <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
    <EnablePackageVersionOverride>false</EnablePackageVersionOverride>
  </PropertyGroup>
  <ItemGroup>
    <GlobalPackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
  </ItemGroup>
</Project>

With this solution, try the following code which uses Buildalyzer:

            var mgr = new AnalyzerManager();
            var projAnalyzer = mgr.GetProject(@"{YourPath}\{YourConsoleProject}.csproj");
            var results = projAnalyzer.Build();

            var packages =results.Single().PackageReferences;
            var styleCop = packages["StyleCop.Analyzers"];
            var version = styleCop["Version"];

            Console.WriteLine($"stylecop version = '{version}'", version);

When I run this locally, the version is blank.

I hope this explanation is clear enough to explain the problem I see. Please do ask any questions you might have, and thanks again for taking a look.

from buildalyzer.

phmonte avatar phmonte commented on August 13, 2024

Thank you very much, I believe it is now possible to simulate, I will update soon.

from buildalyzer.

Corniel avatar Corniel commented on August 13, 2024

I added a reproducer. I'm not sure why you use <GlobalPackageReference> in this case (or at all, I could not find any documentation on it, if you can provide that, that would be appreciated), but the version is not provided by the BuildStatusEventArgs, I'm not sure why,

If you use <PackageReference> instead, the version is available.

from buildalyzer.

Corniel avatar Corniel commented on August 13, 2024

@AndrewPearson See my reporducer. I'm affraid that this is bug/feature that is not due to a bug in Buildalyzer. If I may ask, why do you want to know this version?

May be, a (to be created) rule of .NET project file analyers I might solve what you want to achieve?

from buildalyzer.

AndrewPearson avatar AndrewPearson commented on August 13, 2024

I use a tool called snitch, which makes use of buildalyzer. Snitch fails to run on a project I have, producing errors. I debugged into snitch's code, and found this issue with the version number being blank.

from buildalyzer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.