如何使用 StackExchange.Precompilation 修复相对路径的编译?
How can I fix compilation for relative paths using StackExchange.Precompilation?
对于https://github.com/StackExchange/StackExchange.Precompilation:
我们在安装 StackExchange.Precompilation 的单独库中有一些共享视图。我们必须将这些视图与普通 Web 项目的视图一起加载。我们在两个项目中都从 NuGet 安装了最新版本的 StackExchange.Precompilation。我正在像这样进行程序集加载:
// Register precompiled view engine
ViewEngines.Engines.Clear();
List<Assembly> viewAssemblies = new List<Assembly> { typeof(HomeController).Assembly };
viewAssemblies.AddRange(AppDomain.CurrentDomain.GetAssemblies().Where(a => a.FullName.ToLower().Contains(".web")));
Log.Debug().Message("Looking for views in: {0}", string.Join(", ", viewAssemblies.Select(a => a.FullName))).Write();
ViewEngines.Engines.Add(new PrecompiledViewEngine(viewAssemblies.ToArray()));
在web项目中,我们return查看正常方式:return View("Index");
使用 PrecompiledViewEngine
时,我们会在尝试呈现这样的相对名称时遇到错误:
The view 'Index' or its master was not found or no view engine supports the searched locations.
The following locations were searched:
~/util/Views/Example/Index.cshtml
~/util/Views/Shared/Index.cshtml
util
是应用程序在IIS中的别名。我们没有任何个区域注册。
当我从 GitHub 复制 PrecompiledViewEngine
class - 它起作用了 !我是否遗漏了一些可以使通过 NuGet 分发的版本正常工作的东西?
把代码复制过来,结果不行。当时我一定是在尝试其他方法,使其适用于该特定案例。
该问题实际上是 StackExchange.Precompilation 中的错误。我在那里创建了一个问题:https://github.com/StackExchange/StackExchange.Precompilation/issues/12
对于https://github.com/StackExchange/StackExchange.Precompilation:
我们在安装 StackExchange.Precompilation 的单独库中有一些共享视图。我们必须将这些视图与普通 Web 项目的视图一起加载。我们在两个项目中都从 NuGet 安装了最新版本的 StackExchange.Precompilation。我正在像这样进行程序集加载:
// Register precompiled view engine
ViewEngines.Engines.Clear();
List<Assembly> viewAssemblies = new List<Assembly> { typeof(HomeController).Assembly };
viewAssemblies.AddRange(AppDomain.CurrentDomain.GetAssemblies().Where(a => a.FullName.ToLower().Contains(".web")));
Log.Debug().Message("Looking for views in: {0}", string.Join(", ", viewAssemblies.Select(a => a.FullName))).Write();
ViewEngines.Engines.Add(new PrecompiledViewEngine(viewAssemblies.ToArray()));
在web项目中,我们return查看正常方式:return View("Index");
使用 PrecompiledViewEngine
时,我们会在尝试呈现这样的相对名称时遇到错误:
The view 'Index' or its master was not found or no view engine supports the searched locations.
The following locations were searched:
~/util/Views/Example/Index.cshtml
~/util/Views/Shared/Index.cshtml
util
是应用程序在IIS中的别名。我们没有任何个区域注册。
当我从 GitHub 复制 PrecompiledViewEngine
class - 它起作用了 !我是否遗漏了一些可以使通过 NuGet 分发的版本正常工作的东西?
把代码复制过来,结果不行。当时我一定是在尝试其他方法,使其适用于该特定案例。
该问题实际上是 StackExchange.Precompilation 中的错误。我在那里创建了一个问题:https://github.com/StackExchange/StackExchange.Precompilation/issues/12