Пакет Nuget был установлен, но при компиляции возникает исключение System.IO.FileNotFoundException? DNX Бета-6

Я использую пакет Nuget System.Net.Sockets в проекте и пытаюсь его скомпилировать, но при этом получаю ошибку System.IO.FileNotFoundException.

Он упоминается в проекте веб-консоли с использованием фреймворков dnx451 и dnxcore50 (но он упоминается только в файле core50 project.json, 451 в нем не нуждается). Я могу использовать его в проекте без ошибок, но однажды он фактически ничего не запустит, потому что он получит ошибку, как только запустится. Я проверил свой файл .dnx, и пакет (и все его зависимости) установлены. Я пробовал очищать и переустанавливать свои пакеты, но ничего не работает.

Еще одна странная ошибка, с которой я сталкиваюсь, заключается в том, что когда я использую любой из реальных классов из System.Net.Sockets, я получаю сообщение об ошибке о классе, определенном в System, а также в System.Net.Sockets, и это показывает, что есть одна версия класса доступна для Framework 4.5.1, а другая — для Core 5.

В целом, я думаю, что проблема связана с тем, что пакет доступен для Framework 4.5.1 в пространстве имен System и в пространстве имен System.Net.Sockets для Core 5.0... Я не уверен, почему это приведет к System Исключение .IO.FileNotFound, поэтому, если у кого-то есть идеи, опубликуйте их ниже.

Мой проект.json:

"frameworks": {
   "dnx451": { },
   "dnxcore50": {
      "dependencies": {
        "System.Collections": "4.0.10-beta-23019",
        "System.Console": "4.0.0-beta-23019",
        "System.Linq": "4.0.0-beta-23019",
        "System.Threading": "4.0.10-beta-23019",
        "Microsoft.CSharp": "4.0.0-beta-23019",
        "System.Net.Sockets": "4.1.0-beta-23225"
      }
   }
}

Моя программа.cs:

public class Program
{
    public void Main(string[] args)
    {
        BasicClient client1 = new BasicClient("127.0.0.1", 6379);
        client1.SetString("foo", "bar");
        Console.WriteLine(client1.GetString("foo"));
        Console.ReadLine();
    }
}

Если вам нужно что-то еще, не стесняйтесь ковыряться в репозитории.


person TheNationalSarcasmSociety    schedule 11.09.2015    source источник
comment
Я отредактировал соответствующий код в вашем вопросе. Пожалуйста, не публикуйте ссылки на свой код, так как они будут изменены или удалены, и в будущем этот вопрос станет бесполезным.   -  person Dave Zych    schedule 11.09.2015
comment
Не смешивайте бета-версии.   -  person Hans Passant    schedule 11.09.2015
comment
Я предполагаю, что это связано с тем, что вы добавили зависимость только к dnxcore50, но нацелены как на dnxcore50, так и на dnx451.   -  person Dave Zych    schedule 11.09.2015
comment
Добавление или удаление зависимости от фреймворка dnx451 ничего не меняет...?   -  person TheNationalSarcasmSociety    schedule 11.09.2015
comment
Вы можете попробовать переименовать dnxcore50 в dotnet и убрать dnx451 под frameworks. Это очистило мой проект до такой степени, что VSCode снова начал работать правильно. См. этот пост для получения дополнительной информации. stackoverflow.com/ вопросы/31539341/   -  person JMcDaniel    schedule 12.09.2015
comment
Но тогда как я смогу использовать проект в других проектах, которые могут не быть dotnet.   -  person TheNationalSarcasmSociety    schedule 15.09.2015