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