如何使用stackexchange.tecomlation修复相对路径的编译



https://github.com/stackexchange/stackexchange.precompilation:

我们在单独的库中有一些共享视图,在其中安装了stackexchange.tecompilation。我们必须加载这些视图以及普通Web项目的视图。我们有两个项目中从Nuget安装的最新版本的STACKEXCHANGE。我正在这样做这样的组装加载:

// 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 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类时 - 它起作用!我是否缺少会使版本通过Nuget Work分发的东西?

复制代码不起作用。当时我一定是在尝试其他事情,使它适用于该特定情况。

这个问题实际上是stackexchange.precompilation中的错误。我在那里创建了一个问题:https://github.com/stackexchange/stackexchange.precompilation/issues/12

相关内容

  • 没有找到相关文章

最新更新