예제 #1
0
        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);
        }
예제 #2
0
        /// <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));
        }