dot*_*arj 7 c# msbuild msbuild-task roslyn
是否有可能在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="MyPath\MyNamespace.dll"/>
<Target
BeforeTargets="BeforeCompile"
Name="ValidationTarget">
<MyNamespace.MyReferenceValidationTask
SolutionRoot="$(SolutionDir)" />
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
“MyNamespace.MyReferenceValidationTask”标签“SolutionRoot”中的属性是您的任务中的属性。Visual Studio 中可用的所有宏也可在此处使用。(请参阅此处的这篇文章:/sf/answers/101711641/)
你在任务中做什么完全取决于你。例如,您可以使用 Roslyn 加载解决方案文件,从而拥有所有项目及其引用并进行所需的验证。
| 归档时间: |
|
| 查看次数: |
957 次 |
| 最近记录: |