2015-02-17 3 views
1

Я пытаюсь создать простой веб-сайт в ASP.NET 5 vNext. Я создал библиотеку классов ASP.NET 5 и добавил некоторые классы, которые я уже использовал в другом проекте.Класс, не распознанный компилятором в ASP.NET 5 Библиотека классов (vNext)

У меня проблема с 2 зависимостями. Компилятор говорит мне

типа или пространства имен имя «FileStream» не может быть найден (вы пропали без вести с помощью директивы или ссылка на сборку?) FlashTools.ASP.NET Ядро 5,0

И то же самое ошибка для «ICSharpCode» (конечно, не является частью .NET framework) Я уже добавил System.IO и SharpZipLib (для класса ICSharpCode) в свой проект. Вот мой project.json:

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
     "SharpZipLib": "0.86.0.0" 
    }, 

    "frameworks": { 
     "aspnet50": { 
      "dependencies": { 
      } 
     }, 
     "aspnetcore50": { 
      "dependencies": { 
       "System.Runtime": "4.0.20.0-beta-22605", 
       "System.Linq": "4.0.0.0-beta-22605", 
       "System.Threading": "4.0.10.0-beta-22605", 
       "System.Runtime.Extensions": "4.0.10.0-beta-22605", 
       "System.Globalization": "4.0.10.0-beta-22605", 
       "System.IO": "4.0.10-beta-22416" 
       // "System.IO": "4.0.10.0-beta-22605", 
      } 
     } 
    } 
} 

Intellisense признают класс StreamFile или FileMode, когда, например, я типа

this.stream = new FileStream(this.fileName, FileMode.Open, FileAccess.Read); 

Но компилятор не распознает их.

Если я пытаюсь использовать эти классы не в моей библиотеке классов ASP.NET 5, а непосредственно в своем веб-приложении ASP.NET 5, то компилятор работает нормально, хотя System.IO не ссылается в файле project.json.

У вас есть идея? Это проблема с бета-версией ASP.NET 5 или я сделал что-то неправильно?

Благодаря

+0

Вы не обращались к этому в своем вопросе: вы не указали директиву 'using'? – mason

+0

Да, я использую System.IO и отображается в белом (не сером), что означает, что для VS это пространство имен используется в коде. –

ответ

3

Согласно package search websiteFileStream находится в System.IO.FileSystem пакет, который ваш проект не включает.

+0

Привет, спасибо, я не знал этот сайт. Я не понимаю, почему MSDN говорит, что оно принадлежит System.IO https://msdn.microsoft.com/en-us/library/system.io.filestream%28v=vs.110%29.aspx –

+0

Теперь проблема все еще сохраняется для библиотеки SharpZipLib, но она не является частью платформы .NET. Наверное, я застрял сейчас, просто нужно подождать, пока эта библиотека станет совместимой с ASP.NET. 5 –

+0

Вам не нужно ждать. Вы не сможете скомпилировать «Core CLR» до тех пор, пока эта библиотека не станет доступной, но вы все равно можете использовать «Desktop CLR». См. Мой ответ [здесь] (http://stackoverflow.com/a/28423672/149064) –

Смежные вопросы