DNX依赖冲突“类型'CultureInfo'存在于'System.Globalization'和'mscorlib'中?”

时间:2015-08-03 13:13:03

标签: c# dependencies nuget visual-studio-2015 dnx

我使用DNX SDK版本1.0.0-beta6在Visual Studio 2015中启动了一个新项目。我需要在课堂上使用课程System.Globalization.CultureInfo,如下所示:

using System;
using System.Globalization;

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

        // ...etc.
    }
}

我被提示添加对System.Globalization的引用,这是我使用Nuget做的。之后,我收到以下错误:

  

'CultureInfo'类型存在于'System.Globalization中,   Version = 4.0.10.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'   和'mscorlib,版本= 4.0.0.0,文化=中立,   公钥= 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中已经存在引用,我不应该被提示添加引用,当然如果不是,我不应该得到第二个错误。如何解决此依赖性问题?

2 个答案:

答案 0 :(得分:1)

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

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

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

然后我删除了对#34;依赖关系"下的所有.NET Core包(System。*)的引用。

这解决了冲突。

答案 1 :(得分:1)

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