我正在关注这个链接:将Razor文件编译为单独的dll,除了我无法弄清楚如何访问嵌入在dll中的JavaScript、CSS和图像之外,其他都可以正常工作。有人使用过这种方法吗?它看起来非常有前途。谢谢。
本文介绍的技术是将 Razor 视图嵌入到单独的程序集中。但它不能嵌入静态资源,比如图片、js和CSS。对于这些资源,您需要实现自定义解决方案。例如,您可以编写一个控制器,通过给定资源名称,从程序集中读取该资源(GetManifestResourceStream),并将流写入响应。然后,在视图中简单地生成链接到此控制器操作 (Url.Action) 并传递资源名称即可。
你可以使用我的 EmbeddedResourceVirtualPathProvider,它可以通过Nuget安装,从引用的程序集中加载各种资源,并且还可以在开发过程中设置依赖源文件,以便在无需重新编译的情况下更新视图。