我目前正试图获得每个产品附带的3rdParties列表,并且遇到了NDepend API。根据我所做的研究,您似乎在提供解决方案文件,并提供与该解决方案关联的DLL和EXE列表。到目前为止,我曾尝试:有没有办法使用NDepend API来获取程序集及其关联项目的列表?
static void Main(string[] args)
{
var ndependServicesProvider = new NDependServicesProvider();
var projectManager = ndependServicesProvider.ProjectManager;
var visualStudioManager = ndependServicesProvider.VisualStudioManager;
var projPath = "C:\\code\\depot\\Captiva\\IA\\EIM\\_Trunk\\Src\\BuildInputAccel.Installers.sln";
var sln = projPath.ToAbsoluteFilePath();
var vsSlnOrProjFilePaths = new List<IAbsoluteFilePath> { sln };
var assembliesFilePath = (from vsSlnOrProjFilePath in vsSlnOrProjFilePaths
from assembliesFilePathTmp in visualStudioManager.GetAssembliesFromVisualStudioSolutionOrProject(vsSlnOrProjFilePath)
select assembliesFilePathTmp).Distinct().ToArray();
IProject project = projectManager.CreateTemporaryProject(assembliesFilePath, TemporaryProjectMode.Temporary);
project.CodeToAnalyze.SetApplicationAssemblies(assembliesFilePath);
projectManager.SaveProject(project);
IAnalysisResult analysisResult = project.RunAnalysis();
Console.Write(analysisResult.CodeBase);
}
而且已经得到了类型“System.IO.FileNotFoundException”的未处理的异常出现在mscorlib.dll
有谁知道我在做什么错在这里。我只是想在解决方案中输出与每个项目关联的dll和exes列表。 PS:我对C#非常陌生,所以很抱歉,如果这看起来微不足道!
这是伟大的感谢!在尝试以编程方式创建Ndepend项目时,我仍然遇到mscorlib.dll错误中发生的'System.IO.FileNotFoundException'问题。你知道为什么会发生这种情况吗? – jshaf
我已经遵循了NDepend API – jshaf
入门部分的所有步骤,请仔细检查此步骤“所有NDepend程序集必须存在于$ NDependInstallPath $ \和$ NDependInstallPath $ \ Lib中”。 NDepend.API.dll实际上依赖于所有其他的NDepend程序集,因此必须使用它进行部署 –