private static string GetTargetRoot(ExecutionContext context, TargetPathRelativeTo relativeTo) { string targetRoot = null; switch (relativeTo) { case TargetPathRelativeTo.WebRoot: targetRoot = context.TargetPath; break; case TargetPathRelativeTo.Package: targetRoot = context.PackagePath; break; case TargetPathRelativeTo.Sandbox: targetRoot = context.SandboxPath; break; case TargetPathRelativeTo.AppData: targetRoot = Path.Combine(context.TargetPath, "App_Data"); break; } return(targetRoot); }
/// <summary>Returns with a full path under the target directory on the local server if the path is relative.</summary> protected static string ResolveTargetPath(string path, ExecutionContext context, TargetPathRelativeTo relativeTo = TargetPathRelativeTo.WebRoot) { var contextPath = ResolveVariable(path, context); return(ResolvePath(GetTargetRoot(context, relativeTo), contextPath)); }