我想在一个单独的(C#)项目中创建一些“基于扩展的HTML帮助器”。这些html帮助器例如在www.asp.net中进行了描述。
因为这些方法是对该HtmlHelper
类的扩展,并且HtmlHelper
该类在System.Web.Mvc Assembly内部,所以该项目需要对该程序集的引用。但是随后项目依赖于特定的MVC版本(3、4、5等)。
我想写独立于MVC版本(但基于扩展)的MVC帮助器。这可能吗?
我知道<bindingRedirect />
配置,但是如果不强迫客户端(使用MVC帮助器的项目)使用此<bindingRedirect />
元素,我会很好。
您不必担心客户端必须添加绑定重定向。这曾经是几年前Nuget解决的问题。
因此,共享一个nuget包而不是共享dll。您可能需要多个版本,因为从MVC 3到MVC 5的绑定重定向不起作用(因为在MVC 5中删除了中等信任更改)。因此,您最终将获得总共两个nuget程序包(在nuget.org上搜索AutoFac MVC以查看其功能),或者仅支持MVC 5及更高版本,已经使用了一年多。
将nuget程序包放在nuget.org中(或者您可以使用私有nuget提要),并确保您的程序包对MVC有依赖性,正确的版本是major和minor。您可能需要其中一些来匹配MVC版本。
关于nuget的好处是,对于与您的代码兼容的版本(例如MVC 5、5.1、5.2、5.2.2等),您只需要一个dll,而Nuget会自动添加绑定重定向,而无需最终用户必须输入。
如何创建一个nuget包
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句