From edecab7416b15c013762b9cfa3ec5023157b8275 Mon Sep 17 00:00:00 2001
From: AlexanderZemlyak <92867056+AlexanderZemlyak@users.noreply.github.com>
Date: Fri, 22 Mar 2024 23:25:02 +0300
Subject: [PATCH] Add check for LanguageKits directory existence (#3052)
* Add check for LanguageKits directory existence
* Fix the check
---
LanguageIntegrator/LanguageIntegrator.cs | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/LanguageIntegrator/LanguageIntegrator.cs b/LanguageIntegrator/LanguageIntegrator.cs
index bd77009b3..eca1b5c6c 100644
--- a/LanguageIntegrator/LanguageIntegrator.cs
+++ b/LanguageIntegrator/LanguageIntegrator.cs
@@ -17,14 +17,17 @@ namespace LanguageIntegration
private const string languageKitsDirectoryName = "LanguageKits";
///
- /// Возвращает директорию, содержащую комплекты языков
+ /// Возвращает директорию, содержащую комплекты языков (если ее нет, то вернется null)
///
private static DirectoryInfo GetLanguageKitsDirectory()
{
string binDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string languageKitsDirectoryPath = Path.Combine(binDirectoryPath, languageKitsDirectoryName);
- return new DirectoryInfo(languageKitsDirectoryPath);
+ if (Directory.Exists(languageKitsDirectoryPath))
+ return new DirectoryInfo(languageKitsDirectoryPath);
+
+ return null;
}
///
@@ -34,6 +37,9 @@ namespace LanguageIntegration
{
DirectoryInfo languageKitsDirectory = GetLanguageKitsDirectory();
+ if (languageKitsDirectory == null)
+ return;
+
foreach (var languageKit in languageKitsDirectory.GetDirectories())
{
FileInfo[] dllFiles = languageKit.GetFiles();
@@ -75,6 +81,9 @@ namespace LanguageIntegration
{
DirectoryInfo languageKitsDirectory = GetLanguageKitsDirectory();
+ if (languageKitsDirectory == null)
+ return;
+
foreach (var parserDll in languageKitsDirectory.GetDirectories()
.SelectMany(directory => directory.GetFiles("*Parser.dll")))
{