В настоящее время я пытаюсь получить список сторонних поставщиков, поставляемых с каждым продуктом, и столкнулся с NDepend API. Основываясь на проведенном мной исследовании, кажется, что вы вводите файл решения, а на выходе появляется список библиотек DLL и EXE, связанных с этим решением. До сих пор я пробовал:
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 и exe, связанных с каждым проектом в решении. PS: я очень новичок в C #, поэтому извините, если это кажется тривиальным!