任务:来自_ViewStart.cshtml
的共享文件夹中是否存在视图或其文件。
原因:文件应与用户选择的任何主题相匹配。每个主题都有不同的Layout.cshtml例如Theme1.cshtml,Theme2.cshtml等。
System.IO.File.Exists
定位文件在运行时不起作用,因为只有 dlls 和wwwroot
文件夹可用。缺少Views文件夹ViewEngine
实现来找到视图,但没有成功。我看到的大多数示例都是通过Controller完成的现在,我已经走过使用 Reflection 来确定当前程序集中所有与视图名称匹配并且在共享文件夹中的类的方法
@{
var fileExist = GetExecutingAssembly()
.ExportedTypes
.Any(f => f.Name == "Views_Shared_{ViewName}")
}
这可行,但是我想以正确的方式来做。我相信这是经过数小时试图找到正式途径的黑客。