将系统从Win7 x64升级到Win 10 x64后,我开始遇到新的运行时System.IO.FileNotFoundException异常。
我有以下到目前为止可以正常工作的代码:
{
PrincipalContext pc = new PrincipalContext(ContextType.Machine, Environment.MachineName);
UserPrincipal usrPrin = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, Username);
if (usrPrin == null) // No user exist
{
return -1;
}
// user exist
return 1;
}
我总是使用平台目标x86来构建项目,当我运行应用程序时,调用UserPrincipal.FindByIdentity时会出现异常。
类型为'System.IO.FileNotFoundException'的第一次机会异常'发生在System.DirectoryServices.dll中类型“ System.IO.FileNotFoundException”发生在System.DirectoryServices.AccountManagement.dll
我的所有项目都使用.net4而不是.net4.5编译
现在调试期间,我发现如果将构建平台目标更改为AnyCPU,则代码毫无问题地通过。
似乎是操作系统错误! .Net 4 x86未安装或不正确!,我尝试重新安装.Net4,但由于已经安装了伊朗.net清理工具而无法安装。
任何想法为何会出现此异常?
它说程序集System.DirectoryServices.dll丢失。您是否有机会验证当前解决方案中是否存在该dll。如果没有尝试下载nuget,请构建并查看。我遇到了类似的问题,下载了System.DirectoryServices dll后,vs 2017和.net core 2.1得以解决。