首页 > 解决方案 > 在 .Net 5 中添加对 netNamedPipeBinding 的引用

问题描述

我在 .net 框架 4.6.1 中有类库项目。我必须将该项目迁移到 .net 5。这样做时我面临 netNamedPipeBinding 错误。

Severity    Code    Description Project File    Line    Suppression State
Error   CS0246  The type or namespace name 'NetNamedPipeBinding' could not be found (are you missing a using directive or an assembly reference?)    

已安装以下 nuget 包。

System.ServiceModel.Duplex
System.ServiceModel.Http
System.ServiceModel.NetTcp
System.ServiceModel.Primitives

有什么办法让它工作吗?

标签: migrate.net-5

解决方案


好像不支持。

命名管道
WCF 为同一物理机器上的进程之间的通信提供了命名管道绑定。ASP.NET Core gRPC 的第一个版本不支持命名管道。为命名管道(和 Unix 域套接字)添加客户端和服务器支持是未来版本的目标。

https://docs.microsoft.com/en-us/dotnet/architecture/grpc-for-wcf-developers/wcf-bindings#named-pipes

此外, https://docs.microsoft.com/en-us/dotnet/api/system.servicemodel.netnamedpipebinding的文档页面NamedPipeBinding被解析为.NET 4.8部分并且不存在.NET 5

HttpBindinghttps://docs.microsoft.com/en-us/dotnet/api/system.servicemodel.nethttpbinding的文档页面.NET 5


推荐阅读