2015-09-09 5 views
1

Недавно я работал с предварительной версией VS2015, которая предоставила возможность «ASP.NET 5 Class Library», которая с тех пор была изменена в RTM просто «Библиотека классов (пакет)» С описанием PREVIEW - A project template for creation a class library as a NuGet package that can target any platformПроблемы с пакетом пакетов NuGet в новом шаблоне библиотеки классов Nuget в Visual Studio 2015

Недавно я создал один из этих новых проектов Библиотеки классов и добавлен в решение, которое также включало проект ASP.NET 5. Я использовал консоль диспетчера пакетов, чтобы добавить ссылки на Entity Framework 7 в оба проекта, которые отлично работали, добавив правильный текст в файлы project.json в обоих проектах (соответственно, в разделе ссылок в VS). Но при попытке добавить using Microsoft.Data.Entity; в проект моей библиотеки классов я вообще не могу ссылаться на него. Он отлично работает в проекте ASP.NET.

Intellisense дает мне варианты для «Microsoft.CSharp» и другого пространства имен, но не «данные». Я попытался создать совершенно новое решение с нуля, но это все еще не помогло.

Я также попытался добавить ссылки на материал dnx XUnit для проекта в соответствии с рекомендациями их веб-сайта, но они также не работали.

EDIT: Я думаю, что проблема лежит где-то с dotnet Target Framework Moniker (МТФ), который выглядит, были введены в DNX SDK 1.0.0-Beta5, поскольку не являются проблемы, возникающие при использовании dnx451 в 1.0.0-beta4

+0

есть версия, перечисленные в project.json или global.json? Я предполагаю, что тот, который поставляется с VS2015 –

+0

Шаблон библиотеки классов не содержит файл global.json, просто файл project.json. Он содержит раздел версии 1.0.0- *, который относится к самому проекту, а не к тому, что он ссылается. Идя в свойства, я вижу, что версия DNX SDK 1.0.0-beta5 – BenM

ответ

1

Я, наконец, нашел сообщение на github от автора xunit, Брэда Уилсона, который утверждает, что в настоящее время dotnet TFM не работает так, как вы ожидали, и что dnx451 и dnxcore50 являются лучшими для TFM.

Brad Wilson's comment

Link to comment

0

Попробуйте открыть терминал командной строки в каталоге, содержащем project.json библиотеки классов и тип

dnu restore 
+0

Я пробовал это, и на самом деле это дает мне много ошибок об пространствах имен, таких как system и microsoft и т. Д., Это еще хуже! – BenM

+0

Ну, это может быть больше информации. Сломанный действительно сломан. https://github.com/aspnet/Announcements/issues/53 и https://github.com/aspnet/Announcements/issues/55 упоминают изменения пространства имен, поэтому, возможно, ссылаются на неправильную версию. Что он сказал, является дефолтом, если вы запустили «dnvm list» –

3

Я только что прошел через процесс добавления 2 проекта. Библиотека классов и проект mvc 6. Я мог бы дублировать вашу проблему. Чтобы это исправить, я редактировал библиотеку project.json класса и изменил свойство под «рамок» от DotNet в 2 рамки dnx451 и dnxcore50 как найти в веб-проекте. Надеюсь это поможет.

+1

Я тоже думал об этом.Тем не менее, мне не нужно, поскольку свойство dotnet должно быть тем, которое мы используем в соответствии с Microsoft. Я предпочел бы, чтобы они исправили это, поскольку похоже, что они хотят, чтобы мы использовали dotnet по умолчанию, и я не хочу возвращаться к старому способу этого делать. Но спасибо за вашу помощь. – BenM

1

Удалить все файлы из% userprofile% \. Dnx \ packages, а затем в окне диспетчера пакетов VS2015 выполнить «восстановление dnu».

+0

Я пробовал это, и он исправил проблему, появившуюся после восстановления Deebo dnu ниже, но я все еще не могу получить доступ к любому из классов EF. – BenM

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