В настоящее время я пытаюсь получить список 3rdParties, поставляемых с каждым продуктом, и наткнулся на NDepend API. Основываясь на проведенных нами исследованиях, кажется, что вы загружаете файл решения, а на выходе появляется список DLL и EXE, связанных с этим решением. До сих пор я пытался:Можно ли использовать API NDepend для получения списка сборок и связанных с ними проектов?
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#, так что извините, если это кажется тривиальным!
это большое спасибо! У меня по-прежнему возникают проблемы с «System.IO.FileNotFoundException», произошедшим в ошибке mscorlib.dll при попытке программного проекта Ndepend. Вы знаете, почему это может произойти? – jshaf
Я выполнил все шаги из раздела «Начало работы» из NDepend API – jshaf
, можете ли вы дважды проверить этот шаг «все сборки NDepend должны присутствовать в $ NDependInstallPath $ \ и $ NDependInstallPath $ \ Lib». NDepend.API.dll на самом деле полагается на все другие сборки NDepend, поэтому они должны быть развернуты вместе с ним. –