我使用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
中已经存在引用,我不应该被提示添加引用,当然如果不是,我不应该得到第二个错误。如何解决此依赖性问题?
答案 0 :(得分:1)
问题的确存在于project.json文件中,而是我解决方案中其他项目的文件。
我有针对性的" dotnet"而不是" dnx451"在我的其他项目中,这是创建新项目时的默认项目。我更改了每个project.json文件中的所有框架,如下所示:
"frameworks": {
"dnx451": { }
},
然后我删除了对#34;依赖关系"下的所有.NET Core包(System。*)的引用。
这解决了冲突。
答案 1 :(得分:1)
我通过删除对System.Data.Common
(对System.Globalization
的引用的来源)的引用来解决问题。如果我最终真的需要System.Globalization
,我不知道会发生什么,但我想我稍后会越过那座桥。