.net 即使没有Microsoft.CodeAnalysis.dll,Analyzer也可以工作
我在.NET项目中引用了.net 即使没有Microsoft.CodeAnalysis.dll,Analyzer也可以工作,.net,roslyn,.net,Roslyn,我在.NET项目中引用了xunit.analyzers。 此dll依赖于Microsoft.CodeAnalysis.dll 1.2.0.0,正如我使用ildasm确定的那样 我的项目中没有对Microsoft.CodeAnalysis.dll的引用。它不在我的GAC中,它不是此项目中任何其他NuGet包的一部分,也不在/bin文件夹中 当我键入新代码时,上面的分析器通常会发出错误。此外,我在.csproj中使用它作为构建过程的一部分 问题: 这个分析器如何在没有依赖项的情况下工作 如何在构建时
xunit.analyzers
。
此dll依赖于Microsoft.CodeAnalysis.dll 1.2.0.0,正如我使用ildasm确定的那样
我的项目中没有对Microsoft.CodeAnalysis.dll的引用。它不在我的GAC中,它不是此项目中任何其他NuGet包的一部分,也不在/bin文件夹中
当我键入新代码时,上面的分析器通常会发出错误。此外,我在.csproj中使用它作为构建过程的一部分
问题:
CSC错误CS8032:analyzer Xunit的实例。无法从以下位置创建分析器:无法加载文件或程序集Microsoft.CodeAnalysis版本=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
的文件夹
/lib开关中提到的文件夹
LIB环境变量下的文件夹
回答第3点
我假设当我在本地编写代码时,分析器与Roslyn合作,它也可以满足上面同一Roslyn文件夹中的依赖项。这是构建服务器上的一个模拟点