Index: Core/Common/test/Core.Common.TestUtil/TestHelper.cs
===================================================================
diff -u -rce7954637ac9917d51039d8a1c718b9cd5a6d490 -r9cf5887aa60bb1af2455e3482948dc803a060b19
--- Core/Common/test/Core.Common.TestUtil/TestHelper.cs (.../TestHelper.cs) (revision ce7954637ac9917d51039d8a1c718b9cd5a6d490)
+++ Core/Common/test/Core.Common.TestUtil/TestHelper.cs (.../TestHelper.cs) (revision 9cf5887aa60bb1af2455e3482948dc803a060b19)
@@ -44,12 +44,26 @@
///
public static class TestHelper
{
- public static string SolutionRoot
+ ///
+ /// Gets a full path to the directory that contains the solution file.
+ ///
+ public static string SolutionRoot => Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\..\"));
+
+ ///
+ /// Returns a full path to the application directory, which contains all assemblies that are required for running
+ /// the application.
+ ///
+ /// A full path to the application directory.
+ public static string GetApplicationDirectory()
{
- get
+ DirectoryInfo rootDirectoryInfo = Directory.GetParent(Assembly.GetExecutingAssembly().Location);
+
+ while (rootDirectoryInfo.GetDirectories().All(di => di.Name != "Application"))
{
- return Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\..\"));
+ rootDirectoryInfo = Directory.GetParent(rootDirectoryInfo.FullName);
}
+
+ return Path.Combine(rootDirectoryInfo.FullName, "Application");
}
///