DotNetNuke> CreateUser以编程方式引发错误System.Typeinitializationexception

时间:2016-11-30 05:16:39

标签: c# dotnetnuke vb.net-to-c#

这个人今天吃完了我的时间。我升级了一个最初是由旧版DotNetNuke构建的网络应用程序。遗留应用程序在DNN中创建了一个用户,我认为这个用户非常简单。我将原始代码从VB.net转换为c#,更新为最新的DNN Core和DNN Infrastructure Nuget包。当我运行我的代码时,我收到此错误:

  

类型' System.TypeInitializationException'的例外情况发生在DotNetNuke.dll中但未在用户代码中处理

我已经在线查看了几组用于在DotNetNuke中创建用户的示例代码,我的代码似乎非常密切地遵循这些(见下文)。当我单步执行代码时,dnnUser对象上的每个属性似乎都被正确填充,但是当它到达执行Membership.CreateUserStatus的行时,它始终会因上述错误而失败。关于这里发生了什么,或者我如何解决这个问题的想法?

    public myUser SaveUser(myUser ngUser)
    {

    DotNetNuke.Entities.Users.UserInfo dnnUser = new DotNetNuke.Entities.Users.UserInfo();
        dnnUser.Email = ngUser.Email;
        dnnUser.Username = ngUser.Username;
        dnnUser.DisplayName = ngUser.FirstName + " " + ngUser.LastName;
        dnnUser.FirstName = ngUser.FirstName;
        dnnUser.LastName = ngUser.LastName;
        dnnUser.PortalID = 0;
        dnnUser.Membership.Password = ngUser.Password;
        dnnUser.Membership.Approved = true;
        dnnUser.Membership.CreatedDate = DateTime.Now;

        if (ngUser.UserID == 0)
        {
            DotNetNuke.Security.Membership.UserCreateStatus status = DotNetNuke.Entities.Users.UserController.CreateUser(ref dnnUser);

            if (status == DotNetNuke.Security.Membership.UserCreateStatus.Success)
            {

0 个答案:

没有答案