Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# dotnet core/corefx中是否有与HtmlTextWriter等效的类?_C#_Html_.net_.net Core - Fatal编程技术网

C# dotnet core/corefx中是否有与HtmlTextWriter等效的类?

C# dotnet core/corefx中是否有与HtmlTextWriter等效的类?,c#,html,.net,.net-core,C#,Html,.net,.net Core,许多创建html的库依赖于HtmlTextWriter。在新的corefx中是否有与该类等效的类 以下是一些依赖HtmlTextWriter的项目: 另一个问题可能是:“使用dotnet core/corefx生成html的最佳方法是什么?”.NET core 2.0HtmlTextWriter类 您可以通过将使用htmltexwriter的逻辑移动到类库.NET Standard 2.0来解决这个问题。然后,您将能够从-.NET Core和.NET Framework项目中引用此类库。如果您

许多创建html的库依赖于HtmlTextWriter。在新的corefx中是否有与该类等效的类

以下是一些依赖HtmlTextWriter的项目:


另一个问题可能是:“使用dotnet core/corefx生成html的最佳方法是什么?”

.NET core 2.0
HtmlTextWriter


您可以通过将使用
htmltexwriter
的逻辑移动到类库
.NET Standard 2.0
来解决这个问题。然后,您将能够从-
.NET Core
.NET Framework
项目中引用此类库。

如果您不关心格式和缩进或制表符,您可以使用带有扩展方法的普通
TextWriter


使用扩展方法添加回
WriteBeginTag
和其他方法将为您提供源代码级兼容性,但是,由于您仍在使用
TextWriter
而没有附加状态,因此除非您将缩进状态存储在单独的对象中并随身携带
TextWriter
(我确实考虑过使用线程本地存储使其隐式化,但由于ASP.NET内核经常使用
async
,因此我认为使用线程本地存储并不明智).

我在.NET core 3.1和.NET 5上测试了一个超级简单的修复程序。只需在.NET core项目中安装NuGet软件包HtmlTextWriter,就可以了。

看到您采用了类库方法,我的理解是,尽管.NET core可以编译,但您将无法在Linux上运行应用程序,因为.NET Fra没有安装mework。根据HtmlTextWriter,任何.NET CORE Framework都不支持它。根据这一点:没有.NET CORE Framework支持HtmlTextWriter。NuGet软件包适用于.NET标准,但它也适用于.NET CORE。我已经对此进行了测试。任何希望迁移的人都可以在花费更多精力之前轻松地进行测试。