c# - 无法在 ASP.NET 5 dnx 中构建控制台应用程序

标签 c# debian asp.net-core dnx

我无法使用 Visual Studio Code 在 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 恢复

我也知道新的 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.ConsoleSystem.IO.FileSystem

关于c# - 无法在 ASP.NET 5 dnx 中构建控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35170587/

相关文章:

c# - 在自定义控件中处理来自 DataTemplate 的事件

c# - 为什么 SqlDependency.OnChange 没有被触发?

java - 如何从终端运行 Apache Hama 的 Java 源代码

ubuntu - gforth 出错,libtool 编译失败

linux - OpenCv 3.1.0 - 编译失败

c# - 为什么我的绑定(bind) List<T> 使用 foreach 循环返回空以在 razor 页面上显示值?

c# - 复杂形状碰撞检测的替代解决方案?

c# - 可以在 Visual C# 中绘制 UML 图,然后从中生成代码吗?

asp.net-core - ASP.NET核心: How to change IIS Express port?

asp.net-core - Razor 页面中的 BasePageModel