Weird .Net 4,System.IO.FileNotFoundException,当调用UserPrincipal.FindByIdentity时,

问题描述 投票:1回答:1

将系统从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清理工具而无法安装。

任何想法为何会出现此异常?

c# active-directory windows-10 runtimeexception
1个回答
0
投票

它说程序集System.DirectoryServices.dll丢失。您是否有机会验证当前解决方案中是否存在该dll。如果没有尝试下载nuget,请构建并查看。我遇到了类似的问题,下载了System.DirectoryServices dll后,vs 2017和.net core 2.1得以解决。

© www.soinside.com 2019 - 2024. All rights reserved.