How can I resolve this? The unit type exists in two dll files

16,732

Solution 1

Qualify the attribute with the desired namespace

[System.ComponentModel.DataAnnotations.MaxLength(50)]
public string LastName { get; set; } 

Solution 2

Use using at the top of your code:

using MaxLength = System.ComponentModel.DataAnnotations

Solution 3

Just Uninstall EntityFramework from packages and reinstall it(EntityFramework). It works for me. Just follow the steps mentioned below:

1.Right click on reference 2.Click on manage nugetpackages

1.Right click on reference 2.Click on manage nugetpackages.

3.Click on Uninstall

3.Click on Uninstall

  1. go in online section and type entity frame work in search box 5. Click on install button

4. go in online section and type entity frame work in search box 5. Click on install button

Solution 4

In case, if you are getting the same error in latest environment (VS 2017/.NET Framework 4.6.x) and with entityframeworks like 6.1 or 6.2, here is the solution;

Downgrade your entityframework to 6.0. It'll work.

Solution 5

MaxLength is not a function, it's an Attribute.
You can use the using directive in each file to specify the current correct context.
Or just type the full namespace, e.g. System.ComponentModel.DataAnnotations.MaxLength

Share:
16,732
Trevor
Author by

Trevor

[email protected]

Updated on June 04, 2022

Comments

  • Trevor
    Trevor over 1 year

    I am currently going through a tutorial using Visual Studio 11 beta. When trying to set the max length of a field value in one of my classes:

    [MaxLength(50)]
    public string LastName { get; set; }
    

    It errors out and wont let me compile because the MaxLength() function exists in two places:

    Error 4 The type 'System.ComponentModel.DataAnnotations.MaxLengthAttribute' exists in both 'c:\Users\me\Documents\Visual Studio 11\ContosoUniversity\packages\EntityFramework.4.1.10331.0\lib\net40\EntityFramework.dll' and 'c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll'

    I have tried to remove both files but that just causes more issues because other code in my project is dependent upon them.

    Is there a way I can tell it to use one or the other?

    All of these approaches don't seem to be working for me.. Refer to the comments under the answers.. Any other ideas?

    Thanks