【问题标题】:.NET Core - XElement could not be found when targeting .NET Framework 4.6.NET Core - 面向 .NET Framework 4.6 时找不到 XElement
【发布时间】:2017-02-16 12:24:00
【问题描述】:

在 .NET Core 项目中使用 XElement 并针对 .NET Framework 4.6 时,我遇到了一个奇怪的问题。我做了一个非常简单的项目来重现错误。

  1. 我创建了一个只有一个类的标准库项目。

    public class Class1
    {
        public Class1()
        {
            XElement element = null;
        }
    }
    
  2. 在我的 project.json 中,我想针对 .net core 和 .net framework 4.6

     {
       "version": "1.0.0-*",
    
       "dependencies": {
         "NETStandard.Library": "1.6.0",
        "System.Xml.XmlDocument": "4.3.0"
       },
    
       "frameworks": {
         "netstandard1.6": {
           "imports": "dnxcore50"
         },
         "net46": {
         }
       }
     }
    

当我编译项目时,我总是收到错误“找不到类型或命名空间名称'XElement'(您是否缺少 using 指令或程序集引用?)”(此错误仅在 .NET Framework 4.6 中发生)

我不知道为什么它不能编译。我尝试使用 .net framework 4.6 创建控制台应用程序并添加对 System.Xml.XmlDocument 的引用,它可以工作。只有 .NET 核心项目,它没有。

谢谢。

【问题讨论】:

    标签: .net-core xelement


    【解决方案1】:

    我找到了解决方案。 System.Xml.Linq 必须添加为 net46 的 frameworkAssemblies

    {
      "version": "1.0.0-*",
    
      "dependencies": {
        "NETStandard.Library": "1.6.0",
        "System.Xml.XmlDocument": "4.3.0"
      },
    
      "frameworks": {
        "netstandard1.6": {
          "imports": "dnxcore50"
        },
        "net46": {
          "frameworkAssemblies": {
            "System.Xml.Linq": "4.0.0.0"
          }
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 2023-01-02
      • 1970-01-01
      • 1970-01-01
      • 2017-03-11
      相关资源
      最近更新 更多