static void Main(string[] args)
{
//Application.EnableVisualStyles();
//Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1());
//AssemblyPath = EverythingFileSearcher.Searcher.Search(string.Format(@"{0}\Ref\bin !{0}\Ref\bin\3rd (.dll|.exe)", InitPath)).ToList();
AssemblyPath = SampleFileSearcher.SearchFiles($@"{InitPath}\Ref\Bin\Lib|{InitPath}\Ref\Bin\Impl", "*.dll|*.exe");
Console.WriteLine(Resources.Program_Main_Total_file_count__0__, AssemblyPath.Count);
prjInfoDic = new Dictionary<string, PrjInfo>();
prjInfoFileNameDic = new Dictionary<string, PrjInfo>();
errorPrjInfo = new List<PrjInfo>();
root = new List<PrjInfo>();
AssemblyPath.ForEach(assPath =>
{
if (!assPath.EndsWith("dll") && !assPath.EndsWith("exe")) return;
CreatePrjInfo(assPath);
}
);
Console.WriteLine(Resources.Program_Main_Total_aasembly_count__0_, prjInfoDic.Count);
RebuildRef();
var csprojFilePathList = SampleFileSearcher.SearchFiles($"{InitPath}\\Src", "*.csproj");
foreach (var csprjFile in csprojFilePathList)
{
var analyzer = new ProjectAnalyzer(csprjFile);
var assName = analyzer.GetAssemblyName();
if (string.IsNullOrEmpty(assName))
{
Console.WriteLine($"Prj File {csprjFile} could not output a assembly");
continue;
}
if (!prjInfoFileNameDic.ContainsKey(assName))
{
Console.WriteLine($"Prj File {csprjFile} output assembly:{assName} did not registed");
continue;
}
var pf = new FileInfo(csprjFile);
var prjInfo = prjInfoFileNameDic[assName];
prjInfo.PrjFilePath = pf.DirectoryName;
prjInfo.PrjFileName = pf.Name;
}
PrintAss();
}