4

我正在使用带有 C# 的 asp.net mvc 3 和 .net framework 4.0

假设我有 NivoSlider(a slider) html 代码。它还有js、css和图像文件。

我想将 NivoSlider cshtml 代码和 js/css/images 用作“一个项目”,并且我想将它添加到不同的 MVC 解决方案中。它将以某种方式成为一个插件。

我不能让它成为局部视图,因为我必须将所有 css、js 和 imges 文件移动到新的解决方案中。我查看了“mvc 区域”,但它没有渲染我的 js 和 css 文件(事实上;如您所知,使用“区域”并不是一种完美的方式)......我查找了一些基于插件的架构,但没有 -其中很容易实现。我的时间有限。

那么我该如何解决这个问题呢?

编辑:我可以使用这个http://razorgenerator.codeplex.com/ - 但如果你想出一个想法,我正在寻找另一种解决方案......

4

4 回答 4

15

您可以创建一个私有Nuget并为其创建一个小型安装。这样您就可以直接从包中安装、更新和卸载。

您甚至可以制作在计算机之间复制的本地化包。Nuget 有一种非常简单的方法来指定要将文件提取到的位置以及要提取的文件。

于 2013-08-01T15:00:36.863 回答
1

如上所述,Razor 视图可以作为编译类嵌入到程序集中(通过使用 Razor 生成器)。.html、.js、.png 等静态资源可以作为嵌入式资源位于组件中,并由应用程序通过 VirtualPathProvider 提供服务(自定义或使用现有的,如https://github.com/mcintyre321/EmbeddedResourceVirtualPathProvider

于 2013-08-03T07:02:22.670 回答
1

我在一个商业项目中使用剃须刀发电机,它的功能性但并不理想。

我考虑的其他可能性是将文件添加为链接(请参阅无名的答案)

还覆盖 ViewEngine 我可以在 ASP.NET MVC 中指定自定义位置来“搜索视图”吗?

甚至是符号链接(Windows 中文件夹的快捷链接) https://superuser.com/questions/234422/does-windows7-support-symbolic-links-folder-shortcuts

于 2013-08-02T12:50:23.400 回答
0

将您的 asp.net mvc Razor 视图编译成单独的 dll

我希望能够将编译后的 Razor 视图嵌入到 dll 中。这将允许轻松分发嵌入了默认视图的 asp.net mvc“模块”,但允许您将文件放在“视图”文件夹中以覆盖这些默认视图。

http://www.chrisvandesteeg.nl/2010/11/22/embedding-pre-compiled-razor-views-in-your-dll/

于 2013-08-07T05:30:57.800 回答