現在、各製品と共に出荷されているThirdPartiesのリストを取得しようとしており、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のはNDependのプロジェクトのプロパティ>コード内のアセンブリを探しますフォルダのリストを更新! Ndependプロジェクトをプログラムで作成しようとするとmscorlib.dllエラーで 'System.IO.FileNotFoundException'が発生しました。なぜこれが起こっているのか知っていますか? – jshaf
NDepend API – jshaf
のGetting Startedセクションのすべての手順に従ってください。この手順を再度確認してください。「NDependアセンブリはすべて$ NDependInstallPath $ \と$ NDependInstallPath $ \ Libに存在する必要があります。 NDepend.API.dllは実際に他のすべてのNDependアセンブリに依存しているので、それらを展開する必要があります –