<type>类型存在于'A'和'B'</type>中

时间:2014-02-15 00:00:48

标签: asp.net visual-studio

现在我知道这里已经有很多这样的问题了,但是翻过它们之后,我还没有找到解决我特定问题的问题。

我有一个ASP.NET MVC 4.5项目。我使用NuGet并将Newtonsoft.Json添加到项目中。只要我在我的代码中使用它(在camel-case中进行一些序列化),我的项目就不再正确构建,并出现以下错误:

  

“C:.. \ Microsoft Visual Studio 12.0 \ Blend \ Newtonsoft.Json.dll”和“C:.. \ Visual Studio 2013 \ Projects \ myProject”中存在“Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver”类型\包\ Newtonsoft.Json.6.0.1 \ lib中\ net45 \ Newtonsoft.Json.dll'

不幸的是,它与每个公钥上的文件相同,因此我无法在Web.config中使用依赖项程序集引用(如其他地方所示)。我更喜欢使用通过NuGet检索的dll,因此升级到新版本更容易。

此外,没有人在Temporary Internet文件夹中,所以我不能简单地删除它并使其工作。

如何指定我想要使用的特定程序集文件,以便正确构建项目?谢谢!

1 个答案:

答案 0 :(得分:31)

Xaniff,手动打开您的项目文件并查找Newtonsoft。您很可能会找到一个项目组,其中包含与您的nuget包不匹配的版本。在我的情况下,我发现了这个:

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

我删除了这个项目组,关闭了项目文件,重新加载,一切都很顺利。