Comments (7)
A description of the use of <GlobalPackageReference>
is available here
from buildalyzer.
@AndrewPearson, I tried to reproduce the problem and it worked, do you have an example of the project?
from buildalyzer.
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.
Thank you very much, I believe it is now possible to simulate, I will update soon.
from buildalyzer.
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.
@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.
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)
- Support for .Net Standard 2.0 HOT 2
- `PublishSingleFile` breaks `IProjectAnalyzer.Build()` HOT 17
- Unsupported log file version HOT 8
- Cache dotnet info results per global.json file HOT 5
- Error when trying to read dotnet --info HOT 3
- multiple Buildalyzer.Tests unit tests are failing HOT 3
- Make working directory used by ProcessRunner configurable HOT 3
- [Discussion] Calling `GetCompilationAsync` on ASP.NET Framework project returns empty compilation HOT 3
- Help offered HOT 1
- Could not load file or assembly `NuGet.Frameworks` HOT 16
- Build/assembly reference not found errors due to random sorting of the projects in the Workspace when loading projects from solution file HOT 9
- Xml documentation is missing for imported symbols in Roslyn Projects HOT 3
- Looking For A New Maintainer HOT 4
- Sponsoring HOT 4
- Coding style, static code analysis, and versioning HOT 15
- Immutability HOT 3
- Targeting netstandard HOT 1
- Error running on macos-14-arm64 image
- Buildalyzer hangs if build does not start
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from buildalyzer.