我正在尝试编写一个C#控制台应用程序来使用XDocument读取XML和进程。这似乎很简单,但我无法识别intellisense和构建代码的编译器。我显然错过了一个参考,但不知道哪个。
的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错误CS0234:类型或命名空间名称“Xml”不存在于 命名空间'System'(您是否缺少程序集引用?) C:\ Temp \ TestVSCode \ Program.cs(11,12):DNX,Version = v4.5.1错误CS0246:类型或命名空间名称'XDocument'无法 找到(你错过了使用指令或程序集引用吗?) C:\ Temp \ TestVSCode \ Program.cs(11,29):DNX,Version = v4.5.1错误CS0103:电流中不存在名称'XDocument' t context
请帮助我理解我在做什么错误。
祝你好运, Vemund Haga
答案 0 :(得分:1)
这里有两个问题:
using
指令试图以XDocument
结尾的名称空间。您希望using System.Xml.Linq;
是包含XDocument
您需要为DNX451构建指定XML类所需的框架程序集。我还没有确切地确定哪些框架程序集在默认情况下被拉入,而不是在需要指定它们时,但在这种情况下,下面的集合可以工作:
"dnx451": {
"frameworkAssemblies": {
"System.Xml": "",
"System.Xml.Linq": ""
}
}
请参阅我的somewhat related question,解释为何需要frameworkAssemblies
,而不仅仅是dependencies
。