.NET 4.7.2升级至.NET 8.0后遇System.DirectoryServices不存在错误求助
.NET 4.7.2升级至.NET 8.0后System.DirectoryServices引用错误解决方法
问题描述
将基于.NET 4.7.2的C# ASP.NET MVC项目升级到.NET 8.0后,出现编译错误:
命名空间“System”中不存在类型或命名空间名称“DirectoryServices”(是否缺少程序集引用?)
已尝试安装System.ServiceModel.Primitive NuGet包,但问题未解决。原代码引用了以下命名空间:
using System.Security.Principal; using System.ServiceModel;
解决方案
在.NET Core/.NET 5+(包括.NET 8)中,System.DirectoryServices相关组件不再随框架默认提供,需要手动安装对应NuGet包:
- 若代码中直接使用
System.DirectoryServices下的类型(如DirectoryEntry、DirectorySearcher),安装NuGet包:System.DirectoryServices - 若涉及Windows账户、身份验证相关操作(和
System.Security.Principal关联场景),安装NuGet包:System.DirectoryServices.AccountManagement
注意:你之前安装的System.ServiceModel.Primitive是用于WCF服务相关的组件,和DirectoryServices功能无关,因此无法解决该错误。
内容的提问来源于stack exchange,提问作者user23750585
相关产品推荐
相关产品推荐

