我想向仅包含x64项目的解决方案中添加一个分析器,并且该分析器仅适用于该解决方案的项目。我的分析仪可以有x64构建配置吗?
如果尝试这样做,分析器将使用x64进行编译,但是当我尝试将分析器添加到x64项目中时,会收到类别为Roslyn.HostError的IntelliSense警告CS8034:
无法加载分析器程序集C:... \ TestAnalyzer.dll:无法
加载文件或程序集'file:/// C:\ Users ... \ TestAnalyzer.dll'或一个
它的依赖关系。试图用以下命令加载程序
格式错误。
使用x86编译时添加相同的分析器可以正常工作。
最佳答案
Roslyn不在乎分析仪的位数。它只是加载.Net程序集。
但是,Visual Studio本身是一个x86进程。
如果您制作了仅x64的分析器,则可以在Roslyn命令行上完美运行,但是VS无法加载它。
注意,分析器的位数与项目的位数无关。分析器将加载到编译器中,而不是在运行时加载。