是否有可能在Visual Studio/TFS构建期间挂接到Roslyn构建过程中,如果是,是否有可能在编译期间获得Roslyn正在使用的Microsoft.CodeAnalysis.Solution/Microsoft.CodeAnalysis.Project实例?
发布于 2015-04-14 00:50:55
在我看来,Jon的评论是非常正确的。我建议创建一个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="MyPath\MyNamespace.dll"/>
<Target
BeforeTargets="BeforeCompile"
Name="ValidationTarget">
<MyNamespace.MyReferenceValidationTask
SolutionRoot="$(SolutionDir)" />
</Target>
</Project>"MyNamespace.MyReferenceValidationTask“标记"SolutionRoot”中的属性是您在任务中的属性。此处还提供了Visual Studio中提供的所有宏。(请参阅此处的帖子:https://stackoverflow.com/a/1453023/978594)
你在任务中做什么完全取决于你自己。例如,您可以使用Roslyn加载您的解决方案文件,从而获得所有项目及其引用,并执行所需的验证。
https://stackoverflow.com/questions/27070294
复制相似问题