VSCode 对 XDocument 的依赖

VSCode dependency for XDocument

我正在尝试编写一个 C# 控制台应用程序来读取 XML 并使用 XDocument 进行处理。这看起来很简单,但我无法让智能感知识别和编译器构建代码。我显然缺少参考,但看不到哪个。

Program.cs:

using System;
using System.Xml.XDocument;
using System.IO;

namespace TestVSCode
{
    public class Program
    {
        public static void Main(string[] args)
        {
             XDocument _xml = XDocument.Load(File.ReadAllText(@"C:\Temp\Test.xml"));
             Console.Read();
        }
    }
} 

project.json 文件:

{
  "version": "1.0.0-*",
  "description": "TestVSCode Console Application",
  "authors": [ "" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",
  "tooling": {
   "defaultNamespace": "TestVSCode"
 },

 "dependencies": {
 },

  "commands": {
    "TestVSCode": "TestVSCode"
  },

  "frameworks": {
   "dnx451": { },
   "dnxcore50": {
     "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Console": "4.0.0-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Threading": "4.0.11-beta-23516",
        "System.Xml.XDocument": "4.0.11-beta-23516",
        "System.IO": "4.0.11-beta-23516",
        "System.IO.FileSystem": "4.0.1-beta-23516"
      }
    }
  }
}

运行 dnu restore 工作正常,但 dnu build 出现此错误:

C:\Temp\TestVSCode\Program.cs(2,14): DNX,Version=v4.5.1 error CS0234: 类型或命名空间名称 'Xml' 不存在于 命名空间 'System'(您是否缺少程序集引用?) C:\Temp\TestVSCode\Program.cs(11,12): DNX,Version=v4.5.1 错误 CS0246: 类型或命名空间名称 'XDocument' 无法 找到(您是否缺少 using 指令或程序集引用?) C:\Temp\TestVSCode\Program.cs(11,29): DNX,Version=v4.5.1 error CS0103: The name 'XDocument' does not exist in the curren 上下文

请帮助我理解我在做什么错误。

此致, Vemund Haga

这里有两个问题:

  • 您的 using 指令试图引入以 XDocument 结尾的 命名空间 。你想要 using System.Xml.Linq; 这是包含 XDocument
  • 的命名空间
  • 您需要为 DNX451 构建指定 XML 类 所需的框架程序集。我还没有弄清楚默认情况下会引入哪些框架程序集,以及何时需要指定它们,但在这种情况下,以下集合有效:

    "dnx451": {
      "frameworkAssemblies": {
        "System.Xml": "",
        "System.Xml.Linq": ""
      }
    }
    

查看我的 以解释为什么需要 frameworkAssemblies 而不仅仅是 dependencies