Newtonsoft.Json nuget错误,某些引用不起作用

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

每次尝试使用某些Newtonsoft.Json配置时我都需要帮助,出现错误:

Severity Code Description Project File Line Suppression State Suppression State
Error CS0433 The type "JObject" exists in "Newtonsoft.Json, Version = 6.0.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed" and "Newtonsoft.Json, Version = 12.0.0.0, Culture = neutral,
PublicKeyToken = 30ad4fe6b2a6aeed "mia C: \ Users \ Wesley \ source \ repos \ mia2 \ mia \ Controllers \ Api \ ContaController.cs 18 Active

我已经多次重新安装了我的Nuget软件包,但是它不起作用,只有在此应用程序中我才遇到此问题

我的控制器示例

public IHttpActionResult Login (JObject form)
    {
        db.Configuration.ProxyCreationEnabled = false;
        var email = string.Empty;
        var password = string.Empty;

        dynamic JsonObject = form;

        try
        {
            email = JsonObject.Email.Value;
            password = JsonObject.Password.Value;
        }
        catch
        {

            return BadRequest("chamada Incorreta, Campo Usuário e Senha são necessários");
        }

        var userContext = new ApplicationDbContext();
        var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(userContext));
        var userASP = userManager.Find(email, password);

        if (userASP == null)
        {
            return this.BadRequest("Usuário ou Senha incorretos");
        }

        var user = db.Users.Where(u => u.UserName == email).FirstOrDefault();

        if (userASP == null)
        {
            return this.BadRequest("Usuário ou Senha incorretos");
        }

        var userResponse = new UserResponse
        {
            UserId = user.UserId,
            UserName = user.UserName,
            FirstName = user.FirstName,
            LastName = user.LastName,
            Admin = userManager.IsInRole(userASP.Id, "Admin"),
            Analista = userManager.IsInRole(userASP.Id, "Analista"),
            Parceiro = userManager.IsInRole(userASP.Id, "Parceiro"),
            Vendedor = userManager.IsInRole(userASP.Id, "Vendedor"),
            Financeiro = userManager.IsInRole(userASP.Id, "Financeiro"),
            IsEnabled = user.IsEnabled,
            TinyUserId = user.TinyUserId,
            ConsultorId = user.ConsultorId,
            CampanhaId = user.CampanhaId,

        };
                return Ok(userResponse);
    }
asp.net asp.net-web-api asp.net-mvc-5.2
1个回答
0
投票

  • 您的解决方案中有多个项目,它们使用不同版本的Newtonsoft.Json
  1. 您在bin / obj /临时文件夹中的某个地方有一个流氓Newtonsoft.Json dll。
    解决方案:
    • 如果使用Visual Studio,则可以使用它来查看解决方案中每个项目中使用的引用。检查哪个项目使用哪个版本的Newtonsoft.Json。您只想使用一个,只要您保持一致就没关系。找到适用于所有项目的最低版本,并在所有地方使用它。一旦您使用Newtonsoft.Json的一个版本,则可以再次构建并继续工作。
    如果您允许您的解决方案使用多个版本,您将不断遇到问题。构建解决方案时,将构建每个项目,并将生成的dll(包括其其他引用)复制到所需的任何目的地。它们甚至会彼此覆盖,这又引发了另一组问题,因为一个项目期望以12.0为例,但改为获得版本6。
    • 首先清洁解决方案,该解决方案将删除所有dll。确保在各处删除Bin和Obj文件夹。然后也去清理Internet临时文件这将解决您可能拥有的所有意外版本。您可能甚至在某些您不知道的地方都有一些被遗忘的dll。
© www.soinside.com 2019 - 2024. All rights reserved.