From c6bc97afbfeb5c8e8cbd546fdecdca241639de96 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 10 Dec 2014 17:08:25 -0800 Subject: [PATCH] Update precompilation to use the library manager instead of relative paths. This website is written to assume that $pwd is always in the functional tests directory when it's launched. This works fine for the functional tests, but causes issues in many other contexts, including VS. --- .../Compiler/PreProcess/RazorPreCompilation.cs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/test/WebSites/PrecompilationWebSite/Compiler/PreProcess/RazorPreCompilation.cs b/test/WebSites/PrecompilationWebSite/Compiler/PreProcess/RazorPreCompilation.cs index d2080e4385..bd1d3d300b 100644 --- a/test/WebSites/PrecompilationWebSite/Compiler/PreProcess/RazorPreCompilation.cs +++ b/test/WebSites/PrecompilationWebSite/Compiler/PreProcess/RazorPreCompilation.cs @@ -25,16 +25,14 @@ namespace PrecompilationWebSite public static IServiceProvider ReplaceProvider(IServiceProvider provider) { var originalEnvironment = provider.GetService(); - var newPath = Path.GetFullPath( - Path.Combine( - originalEnvironment.ApplicationBasePath, - "..", - "WebSites", - "PrecompilationWebSite")); + + var libraryManager = provider.GetService(); + var info = libraryManager.GetLibraryInformation("PrecompilationWebSite"); + var directory = Path.GetDirectoryName(info.Path); var precompilationApplicationEnvironment = new PrecompilationApplicationEnvironment( originalEnvironment, - newPath); + directory); var collection = HostingServices.Create(provider); collection.AddInstance(precompilationApplicationEnvironment);