dotnet / roslynator

Roslynator is a set of code analysis tools for C#, powered by Roslyn.

Home Page:https://josefpihrt.github.io/docs/roslynator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project contains numerous invalid exports of ILanguageService

sharwell opened this issue · comments

ILanguageService needs to be exported using ExportLanguageServiceAttribute.

Here is one example:

These exports are breaking Visual Studio in 17.10 Preview 3 and newer, where additional validation is applied to ILanguageService and ILanguageServiceFactory exports.

@sharwell Is this how it should be?

[ExportLanguageService(typeof(ILanguageService), LanguageNames.CSharp)]
[ExportMetadata("Language", LanguageNames.CSharp)]
[ExportMetadata("ServiceType", "Roslynator.CodeMetrics.ICodeMetricsService")]
internal class CSharpCodeMetricsService : CodeMetricsService

@josefpihrt The ExportMetadata lines can be removed. You just need this:

[ExportLanguageService(typeof(ICodeMetricsService), LanguageNames.CSharp)]

Fix has been released.