【问题标题】:asp.net vnext and XDocumentasp.net vnext 和 XDocument
【发布时间】:2015-08-14 07:32:55
【问题描述】:

我在使用最新的 .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, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' WebApplication2.DNX 4.5.1   ValuesController.cs 23

简单地尝试使用System.Xml.Linq.XDocument xd =System.Xml.XDocument xd = 来解决它似乎不起作用,我还能尝试什么?

【问题讨论】:

  • 尝试删除项目中的 bin 文件夹。我看起来您更新了 Net 库,并且代码没有完全重新编译。因此,您将获得查看旧版本和新版本 Net 的编译代码的混合体。删除 bin 将强制所有代码重新编译并指向相同版本的库。这是一种常见的情况,因为编译中的依赖项无法识别 Net 版本的差异。

标签: c# asp.net .net xml asp.net-core


【解决方案1】:

我已通过为 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-26
    • 2014-08-03
    • 2015-05-20
    • 2015-02-09
    • 2015-10-12
    • 2015-01-13
    • 2015-07-04
    • 1970-01-01
    相关资源
    最近更新 更多