C# “DNX依赖冲突”;类型';文化信息';存在于';系统.全球化';和';mscorlib'&引用;?

C# “DNX依赖冲突”;类型';文化信息';存在于';系统.全球化';和';mscorlib'&引用;?,c#,dependencies,nuget,visual-studio-2015,dnx,C#,Dependencies,Nuget,Visual Studio 2015,Dnx,我已经在Visual Studio 2015中使用DNX SDK 1.0.0-beta6版启动了一个新项目。我需要在我的类中使用类System.Globalization.CultureInfo,如下所示: using System; using System.Globalization; namespace Foo { public class Bar { public CultureInfo Culture { get; private set; }

我已经在Visual Studio 2015中使用DNX SDK 1.0.0-beta6版启动了一个新项目。我需要在我的类中使用类
System.Globalization.CultureInfo
,如下所示:

using System;
using System.Globalization;

namespace Foo
{
    public class Bar
    {
        public CultureInfo Culture { get; private set; }

        // ...etc.
    }
}
"frameworks": {
  "dnx451": { }
},
我被提示添加一个对
System.Globalization
的引用,这是我使用Nuget完成的。之后,我得到了以下错误:

类型“CultureInfo”存在于“System.Globalization”, 版本=4.0.10.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a' 和“mscorlib,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089'

Global.json

{
  "sources": [ "src", "test" ],
  "sdk": {
    "version": "1.0.0-beta6",
    "runtime": "clr",
    "architecture": "x86"
  }
}
project.json

{
  "webroot": "wwwroot",
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta6",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta6",
    "Microsoft.AspNet.Mvc": "6.0.0-beta6",
    "Baz.Domain.Model": ""
  },

  "commands": {
    "web": "Microsoft.AspNet.Hosting --config hosting.ini"
  },

  "frameworks": {
    "dnx451": { }
  },

  "publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc"
  ],
  "exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
  ]
}

很明显,我有一个依赖性问题,但我不确定如何用新的DNX解决这些问题。当然,如果引用已经出现在
mscorlib
中,我不应该被提示添加引用,如果不是,我也不应该得到第二个错误。如何解决此依赖关系问题?

问题确实存在于project.json文件中,但我的解决方案中的其他项目的文件中

在我的其他项目中,我的目标是“dotnet”,而不是“dnx451”,这是创建新项目时的默认设置。我更改了每个project.json文件中的所有框架,如下所示:

using System;
using System.Globalization;

namespace Foo
{
    public class Bar
    {
        public CultureInfo Culture { get; private set; }

        // ...etc.
    }
}
"frameworks": {
  "dnx451": { }
},
然后,我删除了“依赖项”下对.NET核心包(System.*)的所有引用


这解决了冲突

我通过删除对
System.Data.Common
(这是对
System.Globalization
)的引用来解决问题。如果我真的需要
System.Globalization
,我不知道会发生什么,但我想我稍后会跨越这座桥。

您应该显示
global.josn
project.json
。这是编译时错误吗?是否可以像使用全名一样容易地区分这两个类?(例如,
System.Globalization.CultureInfo
而不仅仅是
CultureInfo
?)@adv12是的,这是一个编译时错误,但不是,这些类都是
System.Globalization.CultureInfo
,但版本不同。无论如何我都试过了,但没有效果。@HamletHakobyan我已经添加了这段代码。请注意,我没有手动修改它-我使用Nuget添加了
System.Globalization
。您选择了哪种Clr类型?您可以从“开始”下拉列表中进行检查。