Roslyn 分析器是否支持 x64 构建配置?

Are x64 build configurations supported for Roslyn Analyzers?

我想将分析器添加到专门包含 x64 项目的解决方案中,并且该分析器仅适用于该解决方案的项目。我的 Analyzer 可以有 x64 构建配置吗?

如果我尝试这样做,分析器会使用 x64 进行编译,但是当我尝试将分析器添加到 x64 项目时,我会收到类别为 Roslyn.HostError 的 IntelliSense 警告 CS8034:

Unable to load Analyzer assembly C:...\TestAnalyzer.dll: Could not load file or assembly 'file:///C:\Users...\TestAnalyzer.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.

在使用 x86 编译时添加相同的分析器工作正常。

Roslyn 不关心分析器的位数;它只加载 .Net 程序集。

但是,Visual Studio本身就是一个x86进程。

如果您制作了一个仅限 x64 的分析器,它将 运行 从 Roslyn 命令行中完美运行,但 VS 将无法加载它。


请注意,分析器位数与项目位数无关;分析器加载到编译器中,而不是在 运行 时间。