From 3cadd9f79b343e2a339a9ff2a2d79dc9b124897d Mon Sep 17 00:00:00 2001 From: Vincent Sels Date: Fri, 8 May 2015 10:58:51 +0200 Subject: [PATCH] Fixes 'URI formats are not supported' error thrown by GetDirectoryName --- WebApiContrib.Formatting.Razor.sln | 8 ++++++++ .../WebApiContrib.Formatting.Razor.cs | 8 ++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/WebApiContrib.Formatting.Razor.sln b/WebApiContrib.Formatting.Razor.sln index 526ed99..1ecbf19 100644 --- a/WebApiContrib.Formatting.Razor.sln +++ b/WebApiContrib.Formatting.Razor.sln @@ -17,6 +17,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "fsharp", "fsharp", "{1258C8 fsharp\WebApiContrib.Formatting.Razor.fs = fsharp\WebApiContrib.Formatting.Razor.fs EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{6789EBD1-DA9E-47C8-A5BE-0E4CC96A0C26}" + ProjectSection(SolutionItems) = preProject + .nuget\NuGet.Config = .nuget\NuGet.Config + .nuget\NuGet.exe = .nuget\NuGet.exe + .nuget\NuGet.targets = .nuget\NuGet.targets + .nuget\packages.config = .nuget\packages.config + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU diff --git a/src/WebApiContrib.Formatting.Razor/WebApiContrib.Formatting.Razor.cs b/src/WebApiContrib.Formatting.Razor/WebApiContrib.Formatting.Razor.cs index c879883..042e88c 100644 --- a/src/WebApiContrib.Formatting.Razor/WebApiContrib.Formatting.Razor.cs +++ b/src/WebApiContrib.Formatting.Razor/WebApiContrib.Formatting.Razor.cs @@ -27,7 +27,7 @@ public string GetView(string siteRootPath, IView view) foreach(var viewLocationFormat in _viewLocationFormats) { - var potentialViewPathFormat = viewLocationFormat.Replace("~", GetPhysicalSiteRootPath(siteRootPath)); + var potentialViewPathFormat = viewLocationFormat.Replace("~", path); var viewPath = string.Format(potentialViewPathFormat, view.ViewName); @@ -41,11 +41,7 @@ public string GetView(string siteRootPath, IView view) internal static string GetPhysicalSiteRootPath(string siteRootPath) { if (string.IsNullOrWhiteSpace(siteRootPath)) - return Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase) - .Replace("file:\\", string.Empty) - .Replace("\\bin", string.Empty) - .Replace("\\Debug", string.Empty) - .Replace("\\Release", string.Empty); + return Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase.Replace("file:///", string.Empty).Replace("file://localhost/", string.Empty).Replace("/bin", string.Empty).Replace("/Debug", string.Empty).Replace("/Release", string.Empty)); return siteRootPath; }