c# – 进入Roslyn构建过程
发布时间:2020-12-15 07:52:09 所属栏目:百科 来源:网络整理
导读:是否有可能在Visual Studio / TFS构建期间挂钩Roslyn构建过程,如果是,是否可以获得Roslyn在编译期间使用的Microsoft.CodeAnalysis.Solution / Microsoft.CodeAnalysis.Project实例? 解决方法 就我看来,乔恩的评论非常正确.我建议创建一个MSBuild任务,这是您
是否有可能在Visual Studio / TFS构建期间挂钩Roslyn构建过程,如果是,是否可以获得Roslyn在编译期间使用的Microsoft.CodeAnalysis.Solution / Microsoft.CodeAnalysis.Project实例?
解决方法
就我看来,乔恩的评论非常正确.我建议创建一个MSBuild任务,这是您在构建过程中想要的钩子.
创建一个MSBuild项目文件(您可能已经看过它们,它是那些扩展名为.targets的文件)??.它看起来像这样: <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <UsingTask TaskName="MyNamespace.MyReferenceValidationTask" AssemblyFile="MyPathMyNamespace.dll"/> <Target BeforeTargets="BeforeCompile" Name="ValidationTarget"> <MyNamespace.MyReferenceValidationTask SolutionRoot="$(SolutionDir)" /> </Target> </Project> “MyNamespace.MyReferenceValidationTask”标记“SolutionRoot”中的属性是您的任务中的属性. Visual Studio中提供的所有宏也可在此处获得. (见这篇文章:https://stackoverflow.com/a/1453023/978594) 你在任务中做的事完全取决于你.例如,您可以使用Roslyn加载解决方案文件,从而拥有所有项目及其参考,并进行所需的验证. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |