3

是否有任何标准方法/选项,如何安排通过生成Source Generators并添加到构建过程中的文件在项目结构中也是物理可见的(因此开发人员可以查看结果代码,例如通过 VS 解决方案资源管理器窗口)?

我的意思是除了我将代码直接保存到生成器的文件中之外Execute(),我希望这可能会带来其他复杂性(尚未尝试过)。

编辑:

  • 根据这个:https ://github.com/dotnet/roslyn/issues/49249#issuecomment-809807528 ,在生成器执行中不允许 I/O。
  • 根据调试会话(进入生成代码功能),生成的源码至少在临时文件夹中可用,比如C:\Users\user\AppData\Local\Temp\.vsdbgsrc\some-guid\FileNameHint.cs. 不幸的是,标准 VS 导航 (F12) 不起作用(无论调试会话活动如何)。
4

1 回答 1

7

使用生成器将以下内容添加到项目中:

<PropertyGroup>
    <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
    <CompilerGeneratedFilesOutputPath>DesiredPathForGeneratedStuff</CompilerGeneratedFilesOutputPath>
</PropertyGroup>
于 2021-07-09T16:39:40.580 回答