Невозможно использовать FileSystemWatcher с coreclr в Ubuntu

Я пытаюсь использовать класс FileSystemWatcher в проекте coreclr в Ubuntu, но получаю следующее исключение:

Необработанное исключение: System.IO.FileNotFoundException: не удалось загрузить файл или сборку «System.IO.FileSystem.Watcher, версия = 4.0.0.0, культура = нейтральная, 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/


person krlm    schedule 24.11.2015    source источник
comment
Попробуйте запустить dnu restore в каталоге, получилось?   -  person Pavel Krymets    schedule 25.11.2015
comment
@PavelKrymets: вот как я начал - попробовал восстановить dotnet, запустить dotnet. На моей консоли нет dnu, но я думал, что «dotnet» — это просто псевдоним инструмента dnu. Никаких ошибок или предупреждений при восстановлении нет, вроде все ОК.   -  person krlm    schedule 25.11.2015
comment
Пропустил, что вы использовали dotnet, я проверю еще раз   -  person Pavel Krymets    schedule 25.11.2015
comment
Попробуйте удалить часть версии -beta в ваших зависимостях, чтобы она была "4.0.0-* и т. д.   -  person Pavel Krymets    schedule 25.11.2015
comment
@PavelKrymets: без разницы - тот же результат после восстановления dotnet, запуска dotnet.   -  person krlm    schedule 25.11.2015
comment
@PavelKrymets: я установил DNX, и он работает с dnu run. Я думал, что «dotnet» — это просто псевдоним для команд dnx/dnu. Где я могу прочитать больше о различиях?   -  person krlm    schedule 25.11.2015
comment
Я не видел общедоступных документов в dotnet, но это совсем другая концепция. Я зарегистрирую ошибку для вашей проблемы, ты   -  person Pavel Krymets    schedule 25.11.2015


Ответы (1)


Вот минимальная версия project.json, которая отлично работает с указанным выше файлом Program.cs на моей виртуальной машине Ubuntu:

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