【问题标题】:Issues with HTML Encoding in ASP.NET Core MVC web applicationASP.NET Core MVC Web 应用程序中的 HTML 编码问题
【发布时间】:2019-04-15 22:28:29
【问题描述】:

我刚开始担任高级 .NET 开发人员的新工作,遇到了 System.Text.Encodings.Web 包的一个非常令人费解的问题。

项目在 .NET Framework 4.6.1 中

包在 NUGET PACKAGE MANAGER 中显示为已安装版本 4.5.0,但是,.CS 文件中尝试使用 HtmlEncoder 的 using 语句显示错误文本“类型或命名空间”命名空间“System.Text”中不存在编码。您是否缺少程序集引用?”

它还在尝试构建后说,另一个错误,“HtmlEncoder 类型是在未引用的程序集中定义的,您必须添加对程序集的引用'System.Text.Encodings.Web,版本= 4.0.3,文化=中立,然后是公钥令牌。”

我尝试了几种不同的方法,但都没有奏效。

【问题讨论】:

  • 那么它是 .Net core 还是 .Net 4.6,还是两者兼而有之?
  • 实际上是混合的,主要项目是 MVC .NET Core 2.1,解决方案中的其他一些项目中有一些需要的库,而这个有问题的项目在 .NET Framework 4.6 中。 1
  • 对我来说听起来像是一个“删除你的 bin 和 obj 目录并重新启动 Visual Studio”的问题。
  • 我相信我会尝试将 Visual Studio 更新到最新版本,我之前遇到过 Visual Studio 的问题,更新解决了这个问题,Visual Studio 更新中总是有错误修复。跨度>

标签: c# asp.net asp.net-mvc asp.net-core nuget


【解决方案1】:

就我而言,我在引用主项目(均为 netcorapp2.1)的 NUnitTest 项目中遇到了同样的问题。

我通过将以下包引用从主项目复制到测试项目(.csproj 文件)中解决了这个问题:

<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />

【讨论】:

    猜你喜欢
    • 2020-11-15
    • 1970-01-01
    • 2017-07-14
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    相关资源
    最近更新 更多