c# – asp.net vnext和XDocument

我遇到了最新的.net版本和.xdocument库的问题.

我的project.json看起来像这样:

"dependencies": {
    "Microsoft.AspNet.Mvc": "6.0.0-beta4","Microsoft.AspNet.Server.IIS": "1.0.0-beta4","Microsoft.AspNet.Server.WebListener": "1.0.0-beta4","Microsoft.AspNet.StaticFiles": "1.0.0-beta4","System.Xml.XDocument": "4.0.10-beta-23109"
  },"commands": {
    "web": "Microsoft.AspNet.Hosting --config hosting.ini"
  },"frameworks": {
    "dnx451": { }   
  },

我的代码是这样的:

var xd = XDocument.Parse(str);

但我收到错误消息:

Severity    Code    Description Project File    Line
Error   CS0433  The type 'XDocument' exists in both 'System.Xml.Linq,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089' and 'System.Xml.XDocument,Version=4.0.10.0,PublicKeyToken=b03f5f7f11d50a3a' WebApplication2.DNX 4.5.1   ValuesController.cs 23

只是尝试使用System.Xml.Linq.XDocument xd =或System.Xml.XDocument xd =解决它似乎不起作用,我还能尝试什么?

解决方法

我已经通过添加System.Xml.XDocument依赖项作为 framework assembly(这意味着将使用安装了完整.Net版本的GAC中的一个)来为dnx451框架添加解决方案,并且仅作为dnxcore框架的nuget包:
"frameworks": {
  "dnx451": {
    "frameworkAssemblies": { "System.Xml.Linq": "4.0.0.0" }
  },"dnxcore50": {
    "dependencies": { "System.Xml.XDocument": "4.0.10" }
  }
}

我认为在编译dnx451版本时,它会在nuget包和安装完整.Net框架的dll之间混淆

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...