2014-02-15 3 views
14

Jetzt weiß ich, es gibt eine Reihe dieser Fragen schon hier oben, aber durch sie nach Spiegeln, habe ich nicht einen gefunden, die mein spezielles Problem löst.Der Typ <type> existiert sowohl in ‚A‘ und ‚B‘

Ich habe ein ASP.NET MVC 4.5-Projekt. Ich habe NuGet verwendet und Newtonsoft.Json zum Projekt hinzugefügt. Sobald ich es in meinem Code verwenden (einige Serialisierung in Kamel-Fall zu tun), mein Projekt nicht mehr richtig mit dem folgenden Fehler baut:

The type 'Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver' exists in both 'C:..\Microsoft Visual Studio 12.0\Blend\Newtonsoft.Json.dll" and 'C:..\Visual Studio 2013\Projects\myProject\packages\Newtonsoft.Json.6.0.1\lib\net45\Newtonsoft.Json.dll'

Leider ist es die gleiche Datei nach unten auf den öffentlichen Schlüssel auf Ich kann die Abhängigkeits-Assembly-Referenz in Web.config nicht verwenden (wie an anderer Stelle empfohlen). Ich würde lieber die DLL über NuGet abgerufen, so dass Upgrades auf neue Versionen einfacher sind.

Zusätzlich ist weder das eine in dem temporären Internet-Ordner, so kann ich nicht einfach, dass lösche und haben entweder arbeiten.

Wie kann ich mich über die spezifische Montagedatei angeben ich verwenden möchte, so kann ich das Projekt richtig bauen? Vielen Dank!

Antwort

29

Xaniff, öffnen Sie Ihre Projektdatei manuell und suchen Sie nach Newtonsoft. Sie werden mehr als wahrscheinlich eine Artikelgruppe mit einem Verweis auf eine Version finden, die nicht Ihre nuget Paket passend .. In meinem Fall habe ich dies:

<ItemGroup> 
    <Reference Include="Newtonsoft.Json"> 
     <HintPath>..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll</HintPath> 
    </Reference> 
</ItemGroup> 

ich diese Artikelgruppe gelöscht, geschlossen, um die Projektdatei neu geladen und alles war gut.

+2

Dies hat den Trick gemacht. Für jeden, der auf dasselbe Problem stößt, sollten Sie beachten, dass Sie den Verweis in der Artikelgruppe nicht auf die höhere Versionsnummer, sondern nur auf den niedrigeren löschen sollten. – Xaniff

+0

Woked für mich auch. Das Problem trat auf, nachdem ich meine Newtonsoft-Bibliothek über die Packet Manager-Konsole aktualisiert hatte. – netfed

Verwandte Themen