C# “DNX依赖冲突”;类型';文化信息';存在于';系统.全球化';和';mscorlib'&引用;?
我已经在Visual Studio 2015中使用DNX SDK 1.0.0-beta6版启动了一个新项目。我需要在我的类中使用类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; }
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类型?您可以从“开始”下拉列表中进行检查。