NuGet模块中的MVC视图

时间:2015-03-30 20:23:36

标签: c# asp.net-mvc razor nuget

在为我公司的内部重用库制作NuGet模块时,我终于着手制作一个带有可视组件的模块。此模块的.cshtml文件将驻留在特定于模块的位置(而不是标准的“Views”文件夹),因此我将一个辅助web.config放在与视图相同的文件夹中以允许MVC和Razor。

问题变成了,虽然我可以在我的.nuspec文件中指定MVC的一个版本作为依赖项,但我不希望必须是版本特定的,因为我在我的视图中使用的所有功能都存在于所有版本中MVC。

有没有办法可以查看特定(和非传统)文件夹并使用共享MVC二进制文件和配置进行操作?是否可以在所有类型的项目中执行此操作,而无需在安装NuGet包之后为任何人采取任何额外步骤?

1 个答案:

答案 0 :(得分:4)

你几乎没有选择:

  1. 使用razor生成器将视图编译为类 - https://razorgenerator.codeplex.com
  2. 将视图包含为嵌入资源,并编写VirtualPathProvider以获取它们(示例位于http://www.ianmariano.com/2013/06/11/embedded-razor-views-in-mvc-4/
  3. 内部nuget包创建PowerShell脚本及其他步骤
  4. 依赖Asp.Net MVC的问题在于它并不总是向后兼容,但是你必须自己检查

相关问题