c# - NuGet 模块中的 MVC View

标签 c# asp.net-mvc razor nuget

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

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

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

最佳答案

你有几个选择:

  1. 使用 Razor 生成器将 View 编译成类 - https://razorgenerator.codeplex.com
  2. 将 View 作为嵌入式资源并编写 VirtualPathProvider 来获取它们(示例 http://www.ianmariano.com/2013/06/11/embedded-razor-views-in-mvc-4/)
  3. 在 nuget 包中使用额外的步骤创建 PowerShell 脚本

依赖于 Asp.Net MVC 的问题是它并不总是向后兼容,但你必须自己检查一下

关于c# - NuGet 模块中的 MVC View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29355598/

相关文章:

asp.net-mvc - MVC 禁用 SelectListItem 属性不起作用

c# - RESTful API 设计

javascript - 我可以在主视图中使用 Javascript(使用 @ 语法)吗?

jquery - 使用 cshtml 中返回的 JQuery FOREACH 行切换可见性

c# - 使用 LINQ 对货币字典进行分组

c# - 模拟函数<Tin,Tout>

ASP.Net vs MVC vs WebAPI 和 UseTaskFriendlySynchronizationContext

c# - 在 Orchard CMS 中使用 Document.cshtml 的替代品

c# - 方法可以在调用方法上返回吗? C#

c# - Regex.Replace 忽略非捕获组