我想将分析器添加到专门包含 x64 项目的解决方案中,并且该分析器仅适用于该解决方案的项目。我可以为我的分析器提供 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 将无法加载它。
请注意,分析器位数与项目位数无关;分析器加载到编译器中,而不是在运行时加载。
关于c# - Roslyn 分析器是否支持 x64 构建配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34536441/