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"))) {