在为我公司的内部重用库制作 NuGet 模块时,我终于着手制作一个带有可视化组件的模块。该模块的 .cshtml 文件将驻留在特定于模块的位置(不是标准的“Views”文件夹),因此我一直将辅助 web.config 放在与 View 相同的文件夹中以允许 MVC 和 Razor。
问题变成了,虽然我可以在我的 .nuspec 文件中指定一个 MVC 版本作为依赖项,但我不想必须是特定于版本的,因为我在我的 View 中使用的所有功能都存在于所有版本中MVC 的。
有没有一种方法可以让我查看特定的(非传统的)文件夹,并让它使用共享的 MVC 二进制文件和配置进行操作?是否可以在所有类型的项目中执行此操作,而无需在安装 NuGet 包后采取任何额外步骤?
最佳答案
你有几个选择:
- 使用 Razor 生成器将 View 编译成类 - https://razorgenerator.codeplex.com
- 将 View 作为嵌入式资源并编写
VirtualPathProvider
来获取它们(示例 http://www.ianmariano.com/2013/06/11/embedded-razor-views-in-mvc-4/) - 在 nuget 包中使用额外的步骤创建 PowerShell 脚本
依赖于 Asp.Net MVC 的问题是它并不总是向后兼容,但你必须自己检查一下
关于c# - NuGet 模块中的 MVC View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29355598/