如何解决 CS0246 The type or namespace name 'TypeNameSerializer' Could not be found(是否缺少 using 指令或程序集引用?
How to solve CS0246 The type or namespace name 'TypeNameSerializer' could not be found (are you missing a using directive or an assembly reference?
我有一个 .net 框架 class 库项目,它绝对可以与 .net 框架项目一起工作,现在我还需要在 .net 核心应用程序中引用它。所以我正在尝试创建一个新的 .net 标准项目并将所有 .cs 文件从现有项目复制到该项目。并开始修复编译错误。我已经修复了很多,但仍然有一些。
_rabbitBus = RabbitHutch.CreateBus(
ConfigurationManager.ConnectionStrings[queueName].ConnectionString,
serviceRegister => serviceRegister.Register<ISerializer>(
serviceProvider => new JsonSerializer(new TypeNameSerializer())
)
);
我在使用上述代码时遇到以下错误。
CS0246 The type or namespace name 'TypeNameSerializer' could not be
found (are you missing a using directive or an assembly reference?)
那么如何解决这个问题?
注意:我已经使用这段代码修复了编译错误b new JsonSerializer(new Newtonsoft.Json.JsonSerializerSettings())
,但我不知道它的方法是否正确,所以请指导我如何解决这个问题。
看起来 .NET Framework 和 .NET Core 中使用了不同版本的 EasyNetQ。
最新版本的 EasyNetQ 没有任何名称为 TypeNameSerializer
的 class,这就是您收到此错误的原因。
此外,class JsonSerializer
在最新版本的 EasyNetQ 中没有接受 TypeNameSerializer
作为参数的构造函数。
可以参考Git Repo of EasyNetQ and also the Source Code of JsonSerializer class.
您需要在 .NET Core 中使用与在 .NET Framework 项目中使用的 EasyNetQ 相同的版本才能使用 TypeNameSerializer
。
我有一个 .net 框架 class 库项目,它绝对可以与 .net 框架项目一起工作,现在我还需要在 .net 核心应用程序中引用它。所以我正在尝试创建一个新的 .net 标准项目并将所有 .cs 文件从现有项目复制到该项目。并开始修复编译错误。我已经修复了很多,但仍然有一些。
_rabbitBus = RabbitHutch.CreateBus(
ConfigurationManager.ConnectionStrings[queueName].ConnectionString,
serviceRegister => serviceRegister.Register<ISerializer>(
serviceProvider => new JsonSerializer(new TypeNameSerializer())
)
);
我在使用上述代码时遇到以下错误。
CS0246 The type or namespace name 'TypeNameSerializer' could not be found (are you missing a using directive or an assembly reference?)
那么如何解决这个问题?
注意:我已经使用这段代码修复了编译错误b new JsonSerializer(new Newtonsoft.Json.JsonSerializerSettings())
,但我不知道它的方法是否正确,所以请指导我如何解决这个问题。
看起来 .NET Framework 和 .NET Core 中使用了不同版本的 EasyNetQ。
最新版本的 EasyNetQ 没有任何名称为 TypeNameSerializer
的 class,这就是您收到此错误的原因。
此外,class JsonSerializer
在最新版本的 EasyNetQ 中没有接受 TypeNameSerializer
作为参数的构造函数。
可以参考Git Repo of EasyNetQ and also the Source Code of JsonSerializer class.
您需要在 .NET Core 中使用与在 .NET Framework 项目中使用的 EasyNetQ 相同的版本才能使用 TypeNameSerializer
。