无法在 ASP.NET 5 dnx 中构建控制台应用程序
Unable to build a console application in ASP.NET 5 dnx
我无法使用 Visual Studio 代码在 Debian 上构建以下应用程序。我错过了什么?
project.json
{
"version": "1.0.0-*",
"description": "ParseAB2Steps Console Application",
"authors": [ "" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"tooling": {
"defaultNamespace": "ParseAB2Steps"
},
"dependencies": {
},
"commands": {
"ParseAB2Steps": "ParseAB2Steps"
},
"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.IO": "4.0.11-beta-23516"
}
}
}
}
Program.cs
using System;
using System.IO;
namespace ParseAB2Steps
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Press enter to read ab2steps.md");
Console.Read();
string ab2steps = File.ReadAllText("/home/ab2/Dropbox/nodes/ab2/ab2-steps.md");
}
}
}
我在 dnu build
上收到此错误:
/home/ab2/projects/ParseAB2Steps/Program.cs(13,31):
DNXCore,Version=v5.0 error CS0103: The name 'File' does not exist in
the current context
Build failed.
注意:我通过复制上一行的版本手动将 System.IO 行放在 project.json 中,并且能够成功执行 dnu restore
。
我也知道新的 dotnet
cli,但我没有升级到它,因为据我所知,Debian 不受直接支持。所以,我正在使用我目前拥有的 dnx
环境。
编辑 2:
Output of dnvm list
Active Version Runtime Architecture OperatingSystem Alias
------ ------- ------- ------------ --------------- -----
1.0.0-rc1-update1 coreclr x64 linux
* 1.0.0-rc1-update1 mono linux/osx default
1.0.0-rc2-16312 mono linux/osx
将依赖关系从 System.IO
更改为 System.IO.FileSystem
对我有用。
您也可以将 System.IO
保留在文件中,但无论如何它都会被引入,因为它是一些其他程序集的依赖项,包括 System.Console
和 System.IO.FileSystem
。
我无法使用 Visual Studio 代码在 Debian 上构建以下应用程序。我错过了什么?
project.json
{
"version": "1.0.0-*",
"description": "ParseAB2Steps Console Application",
"authors": [ "" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"tooling": {
"defaultNamespace": "ParseAB2Steps"
},
"dependencies": {
},
"commands": {
"ParseAB2Steps": "ParseAB2Steps"
},
"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.IO": "4.0.11-beta-23516"
}
}
}
}
Program.cs
using System;
using System.IO;
namespace ParseAB2Steps
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Press enter to read ab2steps.md");
Console.Read();
string ab2steps = File.ReadAllText("/home/ab2/Dropbox/nodes/ab2/ab2-steps.md");
}
}
}
我在 dnu build
上收到此错误:
/home/ab2/projects/ParseAB2Steps/Program.cs(13,31): DNXCore,Version=v5.0 error CS0103: The name 'File' does not exist in the current context
Build failed.
注意:我通过复制上一行的版本手动将 System.IO 行放在 project.json 中,并且能够成功执行 dnu restore
。
我也知道新的 dotnet
cli,但我没有升级到它,因为据我所知,Debian 不受直接支持。所以,我正在使用我目前拥有的 dnx
环境。
编辑 2:
Output of
dnvm list
Active Version Runtime Architecture OperatingSystem Alias
------ ------- ------- ------------ --------------- -----
1.0.0-rc1-update1 coreclr x64 linux
* 1.0.0-rc1-update1 mono linux/osx default
1.0.0-rc2-16312 mono linux/osx
将依赖关系从 System.IO
更改为 System.IO.FileSystem
对我有用。
您也可以将 System.IO
保留在文件中,但无论如何它都会被引入,因为它是一些其他程序集的依赖项,包括 System.Console
和 System.IO.FileSystem
。