gpt4 book ai didi

c# - ASP.NET MVC 助手,独立于 MVC 版本

转载 作者:太空狗 更新时间:2023-10-29 23:38:31 26 4
gpt4 key购买 nike

我想在一个单独的 (C#) 项目中创建一些“基于扩展的 HTML 助手”。这些 html 帮助程序在 www.asp.net 中有描述。 .

因为这些方法是对 HtmlHelper 的扩展类和 HtmlHelper类在System.Web.Mvc Assembly里面, 项目需要对此程序集的引用。但是随后该项目依赖于特定的 MVC 版本(3、4、5 等)。

我想编写独立于 MVC 版本(但基于扩展)的 MVC 助手。这可能吗?

我知道 <bindingRedirect /> 配置,但如果客户端(使用 MVC 助手的项目)不被迫使用此 <bindingRedirect />,我会很好元素。

最佳答案

您不必担心客户端必须添加绑定(bind)重定向。这曾经是几年前Nuget解决的问题。

因此,与其共享一个 dll,不如共享一个 nuget 包。您可能需要多个版本,因为绑定(bind)重定向从 MVC 3 到 MVC 5 不起作用(因为 MVC 5 中删除了中等信任更改)。因此,您最终将得到总共两个 nuget 包(在 nuget.org 上搜索 AutoFac MVC 以查看它们做了什么),或者仅支持 MVC 5 及更高版本,它已经推出一年多了。

将 nuget 包放在 nuget.org(或者您可以使用私有(private) nuget 提要)中,并确保您的包依赖于 MVC,并使用正确的主要版本和次要版本。您可能需要其中的一些来匹配 MVC 版本。

nuget 的好处在于,对于与您的代码兼容的版本(例如 MVC 5、5.1、5.2、5.2.2 等),您只需要一个 dll,Nuget 将自动添加绑定(bind)重定向,而无需最终用户必须输入它们。

How创建一个 nuget 包

关于c# - ASP.NET MVC 助手,独立于 MVC 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27493680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com