Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Sam Harwell
@sharwell
I'm actually not sure. I haven't used project.json before
Maybe ask in dotnet/Roslyn
Andrew Arnott
@AArnott
@sharwell What is the future of this project? I see lots of issues filed and a couple of very stale PRs on it. I'm keenly interested because with the advent of ValueTask, the analyzers are misfiring saying I shouldn't use the Async suffix on method names that return ValueTask. The vs-threading analyzers already do some of what the 3 analyzers in this project do, so I'm trying to decide whether I should invest time in a PR for this project to add support for ValueTask at least (and hope the PR is accepted and a new version published to nuget.org) or just abandon use of this package and add the equivalent functionality to vs-threading.
Sam Harwell
@sharwell
@AArnott let's set up a meeting this week and talk about options
Andrew Arnott
@AArnott
Sounds good. Thanks for #70 BTW
KLuuKer
@KLuuKer
@sharwell @AArnott so what are the results of that meeting?
Sam Harwell
@sharwell
vs-threading analyzers will be updated to include most if not all rules from AsyncUsageAnalyzers, and should provide a more complete overall set of analyzers. We have a goal of allowing vs-threading analyzers to be used even in projects that do not use vs-threading (e.g. asynchronous web applications that don't even have a main thread), and believe the analyzers are already usable in these cases. The primary missing piece right now is documentation regarding the expected configuration for these scenarios.
Andrew Arnott
@AArnott
The latest stable release of Microsoft.VisualStudio.Threading.Analyzers already is a proper superset of AsyncUsageAnalyzers. We filled in the remaining gaps (Microsoft/vs-threading#382) in our 15.8.168 release.
The analyzers can already be used without using the Microsoft.VisualStudio.Threading library as well, although it's possible some rules will suggest fixes that don't apply to your app yet, in which case you can turn off those individual rules (and please file a bug if you notice this happening). As for the documentation, and a way to automatically set up appropriate default rulesets per app-type, that's something we're working on.
KLuuKer
@KLuuKer
@AArnott there really should be some kind of document or whatever that makes it easy to find these kinds of extensions
never knew it existed until now
Andrew Arnott
@AArnott
Are you talking about the threading analyzers? Where would you look for such a document?
KLuuKer
@KLuuKer
analysers in general, I always keep on missing some kind of analyser I should have because I am unable to find them
because this is my current list of analysers
AsyncFixer
Microsoft.CodeAnalysis.CSharp
Microsoft.CodeAnalysis.CSharp.Workspaces
Microsoft.CodeAnalysis.FxCopAnalyzers
Microsoft.DotNet.Analyzers.Compatibility
StyleCop.Analyzers
ToStringWithoutOverrideAnalyzer
and after some more searching (again) I found these
Microsoft.VisualStudio.Threading.Analyzers
IDisposableAnalyzers
ReflectionAnalyzers
Andrei Volkov
@zvolkov
Hello, a user checking in here. Last time I wanted to use these, they did not work with project.json - now that we are on Core 2.1 and back on MsBuild, this is expected to work OOB, right? I can just grab Microsoft.VisualStudio.Threading.Analyzers and use them as any other analyzer?
Andrew Arnott
@AArnott
@zvolkov project.json is dead. No new features being developed are tested with such projects. You can't target .NET Core 2.1 with project.json AFAIK.
But yes, you should be able to use MS.VS.Threading.Analyzers and use them as any other analyzer.
Andrei Volkov
@zvolkov
Okay cool. Looks like it just works OOB.
Sam Harwell
@sharwell
I archived AsyncUsageAnalyzers and changed the description to point to Microsoft/vs-threading
Andrew Arnott
@AArnott
Great. Should we publish one last package to nuget.org so the description or release notes can redirect folks who are hoping for a stable package there?
Sam Harwell
@sharwell
it doesn't use the easy deployment strategy now used by StyleCopAnalyzers and DocumentationAnalyzers
Andrew Arnott
@AArnott
Does nuget.org still allow you to interactively change package text in the web UI?
Johan Larsson
@JohanLarsson
think so yes
Andrew Arnott
@AArnott
then perhaps @sharwell can just edit the alpha-003 release description to let folks know where to look for the stable analyzers.
Johan Larsson
@JohanLarsson
Microsoft.VisualStudio.Threading.Analyzers is not awesome for discoverability
Microsoft.CodeAnalysis.AsyncAnalyzers
Andrew Arnott
@AArnott
@JohanLarsson I agree with your discoverability concern. We're actually planning to meet next week to discuss ways to improve this.
Johan Larsson
@JohanLarsson
:thumbsup:
Johan Larsson
@JohanLarsson
One way is to split out the general async stuff into Microsoft.CodeAnalysis.AsyncAnalyzers the stuff that was in this library
then reference it from Microsoft.VisualStudio.Threading
er no
they need to be in both, nasty breaking to move them
dunno if an analyzer nuget can specify a dependency on another analyzer nuget
can't see why it would not work
Andrew Arnott
@AArnott
Yes, analyzer packages can reference other ones. We already do this for a VS SDK analyzer package referencing the vs-threading analyzers.
Johan Larsson
@JohanLarsson
ok, that makes it easy then
maybe moving will still be a slight breaking if there is a ruleset