aspnetcore/test/Microsoft.AspNetCore.Razor..../Langauge/TestProject.cs

32 lines
941 B
C#

// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.IO;
using System.Reflection;
namespace Microsoft.AspNetCore.Razor.Language
{
public static class TestProject
{
public static string GetProjectDirectory(Type type)
{
#if NET452
var currentDirectory = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory);
#else
var currentDirectory = new DirectoryInfo(AppContext.BaseDirectory);
#endif
var name = type.GetTypeInfo().Assembly.GetName().Name;
while (currentDirectory != null &&
!string.Equals(currentDirectory.Name, name, StringComparison.Ordinal))
{
currentDirectory = currentDirectory.Parent;
}
return currentDirectory.FullName;
}
}
}