我在.NET项目中引用了xunit.analyzers
。这个dll取决于Microsoft.CodeAnalysis.dll 1.2.0.0
,因为我已经确定使用ildasm。
我的项目中没有引用Microsoft.CodeAnalysis.dll
。它不在我的GAC中,它不是此项目中任何其他NuGet包的一部分,并且它不在/ bin文件夹中。
当我键入新代码时,上述分析器通常会发出错误。另外,我在.csproj中使用它作为构建过程的一部分。
问题:
CSC error CS8032: An instance of analyzer Xunit.Analyzers cannot be created from: Could not load file or assembly Microsoft.CodeAnalysis Version=1.2.0.0
对第1点和第2点的回答:
看来我的本地版本使用C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Roslyn\csc.exe
进行编译,Microsoft.CodeAnalysis.dll
在其文件夹中包含xunit.analyzer
所需的适当版本的C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe
。
但是,构建服务器使用的csc.exe
版本低于所需版本,这会导致构建中断。
仅供参考和上下文,csc.exe
按顺序解析程序集依赖项:
答案第3点
我想,当我在本地编写代码时,分析器与Roslyn合作,它也可以满足上面相同Roslyn文件夹的依赖关系。这是构建服务器上的一个有争议的问题。