不能在ubuntu上使用带有coreclr的FileSystemWatcher

时间:2015-11-24 19:32:54

标签: .net ubuntu asp.net-core coreclr

我试图在Ubuntu上的coreclr项目中使用FileSystemWatcher类,但我得到了以下异常:

  

未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集System.IO.FileSystem.Watcher,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。系统找不到指定的文件。

我的project.json文件:

{
"version": "1.0.0-*",
"compilationOptions": {
    "emitEntryPoint": true
},

"dependencies": {
    "Microsoft.NETCore.Runtime": "1.0.1-beta-*",
    "System.IO": "4.0.11-beta-*",
    "System.IO.FileSystem.Watcher": "4.0.0-beta-*",
    "System.Console": "4.0.0-beta-*",
    "System.Runtime": "4.0.21-beta-*"
},

"frameworks": {
    "dnxcore50": { }
}
}

和Program.cs:

using System;
using System.IO;

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {            
            using (var watcher = new FileSystemWatcher("."))
            {
                Console.WriteLine("Watcher created!");    
            }
        }
    }
}

我做错了什么?

PS。根据此站点的说明安装.NET Core:https://dotnet.github.io/getting-started/

1 个答案:

答案 0 :(得分:0)

这是 project.json 的最小版本,可以在我的Ubuntu VM上使用上面的 Program.cs 文件正常工作:

{
  "dependencies": {
    "System.IO.FileSystem.Watcher": "4.0.0-beta-23516"
  },
  "frameworks": {
    "dnxcore50": {
      "dependencies": {
        "System.Console": "4.0.0-beta-23516"
      }
    }
  }
}