【问题标题】:c# Web App - Encoding' does not contain a definition for 'UTF8c#Web App - Encoding'不包含'UTF8'的定义
【发布时间】:2021-08-25 20:27:01
【问题描述】:

服务器 2016 上的 IIS 网站。

using System.Text

string x = "abcdefg";
byte[] y = Encoding.UTF8.GetBytes(x);

结果:

Compiler Error Message: CS0117: 'Encoding' does not contain a definition for 'UTF8'

不是在抱怨“Encoding”未定义,而是在 Encoding 类中的 .UTF8 未定义。

在我自己在 Visual Studio 中运行 IIS Express 的桌面上运行良好,但在部署到服务器时,会出现上述错误消息。

我的本​​地开发机器有:.NET Framework 4.7.2

服务器只有 Microsoft .NET Runtime 5.0.9 和 Microsoft ASP.NET Core 5.0.9。事实上,服务器没有安装任何版本的 .NET Framework,但所有其他 Web 应用程序(我的和其他的)都可以正常工作。

我可以在 .NET Runtime 5 旁边安装和运行 .NET Framework 4.7 吗?首先应该有必要吗? .NET Runtime 5 不包含 Encoding.UTF8 吗?

谢谢。

编辑:这段代码没有任何问题。这是一个框架依赖或相互关系的问题。

【问题讨论】:

  • 你必须在某个地方公开分享整个项目。仅仅上面的代码 sn-p 远远不足以显示上下文。
  • 请查看minimal reproducible example 发布代码指南。没有人知道,但您知道您将哪个变量命名为 Encoding,或者可能其他随机代码定义了 Encoding 命名空间/类。
  • 好悲痛。 Encoding 类自 1.0 版以来一直位于 .NET System.Text 命名空间中。

标签: c# .net iis


【解决方案1】:

在服务器上重新安装 .NET Framework 最终解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多