Problem using System.DirectoryServices.AccountManagement
Hi, I'm trying to run a simple function to authenticate a user with their windows login and password using System.DirectoryServices.AccountManagement. I've added the dll to my plugins folder. I've added "using System.DirectoryServices.AccountManagement;" to the script. Here is the function that I call within the Start() function
public bool ValidateCredentials(string sUserName, string sPassword) { PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Domain); return oPrincipalContext.ValidateCredentials(sUserName, sPassword);
}
Very simple, call it with a username and password, and it returns true if they are correct, false if not. This works fine in a standalone C# windows form application with the target version of 3.5. In Unity, I get the error below. I can change the ERROR 1 (using Project Settings -> Player -> Optimization -> .NET 2.0 Subset to .NET 2.0 instead, and that error disappears and the program will compile. But I then when I run the program (without attaching the script), I get "SpritePacker failed to get types from System.DirectoryServices.AccountManagement, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. Error: The classes in the module cannot be loaded. UnityEditor.Sprites.Packer:GetSelectedPolicyId()" as a warning. When I attach the script to a game object, I get "TypeLoadException: Could not load type 'System.DirectoryServices.AccountManagement.PrincipalContext' from assembly 'System.DirectoryServices.AccountManagement, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. GetLogin.Start () (at Assets/GetLogin.cs:17)"
Any ideas?
Unhandled Exception: System.MissingMethodException: Method not found: 'System.Security.SecurityCriticalAttribute..ctor'.
at (wrapper managed-to-native) System.MonoCustomAttrs:GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool)
at System.MonoCustomAttrs.GetCustomAttributesBase (ICustomAttributeProvider obj, System.Type attributeType) [0x00000] in :0
at System.MonoCustomAttrs.GetCustomAttributes (ICustomAttributeProvider obj, System.Type attributeType, Boolean inherit) [0x00000] in :0
at System.MonoType.GetCustomAttributes (System.Type attributeType, Boolean inherit) [0x00000] in :0
at Mono.CSharp.AttributeTester.GetObsoleteAttribute (System.Type type) [0x00000] in :0
at Mono.CSharp.Expression.ResolveAsTypeTerminal (IMemberContext ec, Boolean silent) [0x00000] in :0
at Mono.CSharp.Expression.ResolveAsContextualType (IMemberContext rc, Boolean silent) [0x00000] in :0
at Mono.CSharp.LocalInfo.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] in :0
at Mono.CSharp.Block.ResolveMeta (Mono.CSharp.BlockContext ec, Int32 offset) [0x00000] in :0
at Mono.CSharp.ToplevelBlock.ResolveMeta (Mono.CSharp.BlockContext ec, Mono.CSharp.ParametersCompiled ip) [0x00000] in :0
at Mono.CSharp.ToplevelBlock.Resolve (Mono.CSharp.FlowBranching parent, Mono.CSharp.BlockContext rc, Mono.CSharp.ParametersCompiled ip, IMethodData md) [0x00000] in :0
Internal compiler error at Assets/GetLogin.cs(30,17):: exception caught while emitting MethodBuilder [GetLogin::ValidateCredentials] Missing method System.Security.SecurityCriticalAttribute::.ctor(SecurityCriticalScope) in assembly C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity\mscorlib.dll, referenced in assembly C:\Users\roshel\Documents\Unity\New Unity Project 5\Assets\Plugins\System.DirectoryServices.AccountManagement.dll Can't find custom attr constructor image: C:\Users\roshel\Documents\Unity\New Unity Project 5\Assets\Plugins\System.DirectoryServices.AccountManagement.dll mtoken: 0x0a00008a
Your answer
Follow this Question
Related Questions
How do I get the Box Collidor to form around the shape of the Sprite? 2 Answers
Double clicking console error does nothing 1 Answer
Help with Building Error (CS0535),Compiler error that doesn't let me finish my game build (CS0535) 0 Answers
Bizarre compile errors in Unity while Visual Studio will build project successfully 0 Answers