Iva*_*lev 6 analyzer roslyn .net-core .net-standard
我正在使用Visual Studio 2017附带的默认Roslyn SDK模板.他们创建的项目以.NET Framework Portable为目标.我假设Roslyn可扩展性项目可以针对.NET Standard\Core而不是Portable,我正在寻找模板或我可以研究的Roslyn Analyzer\Refactoring项目示例.
此处提供了默认分析器模板中转换分析仪的样本.有原始分析器用于比较以及TestAnalyzerStandard
针对.NET标准.
使其工作的步骤:
Microsoft.Composition
最新版本.这需要Microsoft.CodeAnalysis.CSharp.Workspaces
.如果您首先尝试添加工作空间,则会收到引用的合成包不兼容的错误.Microsoft.CodeAnalysis.CSharp
(我正在使用最新的1.*版本)Microsoft.CodeAnalysis.Csharp.Workspaces
(版本应该与版本匹配Microsoft.CodeAnalysis.CSharp
).source.extension.vsixmanifest
,转到资源选项卡并更改对.NET标准库的引用nuget pack Diagnostic.nuspec .
.Diagnostic.nuspec
适用于Nuget 2.x. 如果您在VS 2017中使用nuget通过包管理控制台,则必须更改<file src="*.dll" ..."
为<file src="bin\*\netstandard1.3\*.dll" ...
.这些步骤是我使用分析器进行实验的结果(我之前使用的是创建DLL,它针对完整的框架,而不是可移植的库).他们绝不是官方的.
我开始研究一个新的Roslyn项目并逐个构建,而不是使用模板.https://github.com/IKoshelev/Roslyn.AutoLogging/commit/1f88e3e49141e0fa425c51fdcb3457a7c3d6dcaa
我设法进行了以下定位:
重构项目 - .NET Standard 1.3(此.dll将分发,版本保持最小)
UnitTests项目 - .NET Core 2.0
VSIX项目 - .NET Framework 4.6(我相信,只有完整的Visual Studio支持VSIX,所以没关系)
更新 Roslyn的版本控制现在有点复杂,即如果要在Visual Studio 2015中使用扩展,则必须使用PCL库.有关Roslyn的文章末尾的更多信息
归档时间: |
|
查看次数: |
821 次 |
最近记录: |