使用Nuget共享视图

使用Nuget共享视图

问题描述:

我开始一个新的应用程序,它将与其他应用程序共享相同的导航栏(至少内容)。这些将全部托管在相同的域上,但可能有不同的服务器。使用Nuget共享视图

我知道Nuget可以用来共享库,但共享共享视图有什么用处呢,比如_SharedHeader,_Master页面。例如,每个应用都必须拉下新的Nuget包并重新部署才能看到导航栏中的更改,但此代码更改位于同一个位置,而不是每个应用更新_SharedHeader。

还有其他的选择会更好吗?我不确定ISS中的网站如何继承共享视图,我已经遇到了它们在虚拟目录*享web.configs。

正在使用一个Nuget包来实现共享视图,这是一个好主意,还有其他可能的影响吗?我对nuget,mvc和相关主题的了解是非常简单的,但这似乎是管理代码的好主意。

再次感谢。

为了从类库*享视图,您必须编译它们。有一个插件用于此目的,称为RazorGenerator。如何使用RazorGenerator超出了我可以在答案中提供的范围,但上面的链接和一些在线研究应该为您提供所需的全部设置。

一旦你在一个类库中获得了你的视图,那么创建一个nuget包就像其他任何东西一样工作。所以,让Google再次引导。

您可以使用NuGet包的功能来包含内容,而不仅仅是库来实现这一点。当NuGet软件包安装完成后,它会将共享视图复制到您的项目中。如果您的项目需要,这将使您能够调整这些共享视图的好处。

这是Nuspec Reference。我不能直接链接到它,但向下滚动到文件元素的例子,然后内容文件

可以使用的NuGet包安装预定义的共享视图(这将被用于多个项目中)。看看@http://docs.nuget.org/docs/creating-packages/configuration-file-and-source-code-transformations了解更多详情。