2016-02-26 2 views
0

Я пытаюсь использовать SQLite на веб-сайте ASP.NET 5, но у меня возникают проблемы с EntityFramework.Sqlite и Microsoft .Data.Sqlite. KPM команду восстановления дает мне:ASP.NET 5: kpm не удается найти пакеты EntityFramework.Sqlite и Microsoft.Data.Sqlite

C:\Users\jerom\Documents\Visual Studio 2015\Projects\TongyiFapiao\src\TongyiFapiao>kpm restore 
Restoring packages for C:\Users\jerom\Documents\Visual Studio 2015\Projects\TongyiFapiao\src\TongyiFapiao\project.json 
GET https://api.nuget.org/v3/index.json/FindPackagesById()?Id='EntityFramework.Sqlite'. 
GET https://api.nuget.org/v3/index.json/FindPackagesById()?Id='Microsoft.Data.Sqlite'. 
OK https://api.nuget.org/v3/index.json/FindPackagesById()?Id='Microsoft.Data.Sqlite' 1228ms 
OK https://api.nuget.org/v3/index.json/FindPackagesById()?Id='EntityFramework.Sqlite' 1262ms 
The XML file C:\Users\jerom\AppData\Local\kpm\cache\ca78217dc80ed627f4567234a39c90ac05cda559$s_api.nuget.org_v3_index.json_\list_Microsoft.Data.Sqlite_page1.dat is corrupt 
Warning: FindPackagesById: Microsoft.Data.Sqlite 
Data at the root level is invalid. Line 1, position 1. 
GET https://api.nuget.org/v3/index.json/FindPackagesById()?Id='Microsoft.Data.Sqlite'. 
The XML file C:\Users\jerom\AppData\Local\kpm\cache\ca78217dc80ed627f4567234a39c90ac05cda559$s_api.nuget.org_v3_index.json_\list_EntityFramework.Sqlite_page1.dat is corrupt 
Warning: FindPackagesById: EntityFramework.Sqlite 
Data at the root level is invalid. Line 1, position 1. 
GET https://api.nuget.org/v3/index.json/FindPackagesById()?Id='EntityFramework.Sqlite'. 
OK https://api.nuget.org/v3/index.json/FindPackagesById()?Id='Microsoft.Data.Sqlite' 50ms 
The XML file C:\Users\jerom\AppData\Local\Temp\tmpC325.tmp is corrupt 
Warning: FindPackagesById: Microsoft.Data.Sqlite 
Data at the root level is invalid. Line 1, position 1. 
GET https://api.nuget.org/v3/index.json/FindPackagesById()?Id='Microsoft.Data.Sqlite'. 
OK https://api.nuget.org/v3/index.json/FindPackagesById()?Id='EntityFramework.Sqlite' 50ms 
The XML file C:\Users\jerom\AppData\Local\Temp\tmpC347.tmp is corrupt 
Warning: FindPackagesById: EntityFramework.Sqlite 
Data at the root level is invalid. Line 1, position 1. 
GET https://api.nuget.org/v3/index.json/FindPackagesById()?Id='EntityFramework.Sqlite'. 
OK https://api.nuget.org/v3/index.json/FindPackagesById()?Id='Microsoft.Data.Sqlite' 48ms 
The XML file C:\Users\jerom\AppData\Local\Temp\tmpC368.tmp is corrupt 
Error: FindPackagesById: Microsoft.Data.Sqlite 
Data at the root level is invalid. Line 1, position 1. 
---------- 
OK https://api.nuget.org/v3/index.json/FindPackagesById()?Id='EntityFramework.Sqlite' 50ms 
The XML file C:\Users\jerom\AppData\Local\Temp\tmpC37A.tmp is corrupt 
System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1. 
at System.Xml.XmlTextReaderImpl.Throw(Exception e) 
at System.Xml.XmlTextReaderImpl.Throw(String res, String arg) 
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace() 
at System.Xml.XmlTextReaderImpl.ParseDocumentContent() 
at System.Xml.XmlTextReaderImpl.Read() 
at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options) 
at System.Xml.Linq.XDocument.Load(Stream stream, LoadOptions options) 
at System.Xml.Linq.XDocument.Load(Stream stream) 
at Microsoft.Framework.PackageManager.Restore.NuGet.NuGetv2Feed.<FindPackagesByIdAsyncCore>d__21.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at Microsoft.Framework.PackageManager.RemoteWalkProvider.<FindLibrary>d__6.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at Microsoft.Framework.PackageManager.RestoreOperations.<FindLibrary>d__9.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) 
at Microsoft.Framework.PackageManager.RestoreOperations.<FindLibraryByVersion>d__8.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) 
at Microsoft.Framework.PackageManager.RestoreOperations.<FindLibraryMatch>d__6.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at Microsoft.Framework.PackageManager.RestoreOperations.<FindLibraryEntry>d__5.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at Microsoft.Framework.PackageManager.RestoreOperations.<CreateGraphNode>d__2.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) 
at Microsoft.Framework.PackageManager.RestoreOperations.<CreateGraphNode>d__2.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) 
at Microsoft.Framework.PackageManager.RestoreCommand.<RestoreForProject>d__62.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at Microsoft.Framework.PackageManager.RestoreCommand.<ExecuteCommand>d__61.MoveNext() 
Error: FindPackagesById: EntityFramework.Sqlite 
Data at the root level is invalid. Line 1, position 1. 
---------- 
Restore failed 
Data at the root level is invalid. Line 1, position 1. 

и kpm build дает мне также:

Unable to resolve dependency EntityFramework.Sqlite 7.0.0-rc1-final 
Unable to resolve dependency Microsoft.Data.Sqlite 1.0.0-rc1-final 

Однако он работает прекрасно, когда я строю из Visual Studio, принимая пакеты из моих .dnx \ пакетов каталог:

Using Package dependency EntityFramework.Sqlite 7.0.0-rc1-final 
Source: C:\Users\jerom\.dnx\packages\EntityFramework.Sqlite\7.0.0-rc1-final 
File: lib\net451\EntityFramework.Sqlite.dll 
Using Package dependency Microsoft.Data.Sqlite 1.0.0-rc1-final 3>  
Source: C:\Users\jerom\.dnx\packages\Microsoft.Data.Sqlite\1.0.0-rc1-final 
File: lib\net451\Microsoft.Data.Sqlite.dll 

Если я использую --packages вариант с kpm restore командовать, кажется, работает:

kpm restore --packages C:\Users\jerom\.dnx\packages 
Restoring packages for C:\Users\jerom\Documents\Visual Studio 2015\Projects\TongyiFapiao\src\TongyiFapiao\project.json 
Resolving complete, 732ms elapsed 
Restore complete, 738ms elapsed 

Но в конце концов, он терпит неудачу, когда я исполняю

k ef migration add initial 
k ef migration apply 

Вот мой project.json файл:

{ 
    "version": "1.0.0-*", 
    "compilationOptions": { 
    "emitEntryPoint": true 
}, 
"dependencies": { 
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
    "TongyiFapiao.Models": "1.0.0-*", 
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", 
    "EntityFramework.Sqlite": "7.0.0-rc1-final", 
    "EntityFramework.Relational": "7.0.0-rc1-final", 
    "Microsoft.Data.Sqlite": "1.0.0-rc1-final", 
    "EntityFramework.Commands": "7.0.0-rc1-final", 
    "System.Data.SQLite": "1.0.99", 
    "TongyiFapiao.DAL": "1.0.0-*", 
    "Microsoft.Framework.Configuration.Json": "1.0.0-beta8" 
}, 
"commands": { 
    "web": "Microsoft.AspNet.Server.Kestrel", 
    "ef": "EntityFramework.Commands" 
}, 
"frameworks": { 
    "dnx451": { 
     "dependencies": { 
     "TongyiFapiao.DAL": "1.0.0-*" 
    } 
}, 
"dnxcore50": { 
} 
}, 
"exclude": [ 
    "wwwroot", 
    "node_modules" 
], 
"publishExclude": [ 
    "**.user", 
    "**.vspscc" 
] 
} 

Я пытался изменить файл Nuget.config для использования разных репозиториев Nuget, но ни один из них не работает. я модернизировал свой KVM и DNVM и вот все версии .NET установлено:

C:\Users\jerom\Documents\Visual Studio 2015\Projects\TongyiFapiao\src\TongyiFapiao>dnvm list 
WARNING: Found a KRE_HOME environment variable. This variable has been deprecated and should be removed, or it may interfere with DNVM and the .NET Execution environment 
Active Version   Runtime Architecture OperatingSystem Alias 
------ -------   ------- ------------ --------------- ----- 
    1.0.0-beta5  clr  x64   win 
    1.0.0-beta5  clr  x86   win 
    1.0.0-beta5  coreclr x64   win 
    1.0.0-beta5  coreclr x86   win 
    1.0.0-beta8-15736 clr  x86   win 
    1.0.0-rc1-final clr  x64   win 
    1.0.0-rc1-final clr  x86   win 
    1.0.0-rc1-final coreclr x64   win 
    1.0.0-rc1-final coreclr x86   win 
    1.0.0-rc1-update1 clr  x64   win 
    *1.0.0-rc1-update1 clr  x86   win    default 
    1.0.0-rc1-update1 coreclr x64   win 
    1.0.0-rc1-update1 coreclr x86   win 

Я пытался изменить к различным версиям обновления 1, но все еще с той же проблемой.

ответ

1

Soooo Я наконец нашел интересные вещи.

ПЕРВЫЙ:

kpm и k команды были переименованы в dnu и dnx соответственно. я не мог найти какую-либо информацию о нем, кроме here

Вы не можете использовать к/Кре/КВМ с новейшими пакетами, он не понимает DnX TFMs.

@jsacapdev Вам необходимо скачать dnvm из Home репозитория или придерживаться пакетов, которые существовали до последней пятницы.

Сообщение написано мар 11, 2015. Спасибо за ваш огромный сообщения о нем ребята ...

Так что я просто должен был выполнить команду dnx restore, а затем достижения своей конечной цели, которая должна была создать свою базу данных из моего DbContext. Если вы, как я, у вас есть решение для нескольких проектов, в котором вы разбиваете часть веб-сайта из части уровня доступа к данным (DAL).Решение here

dnx ef migrations add InitialMigration -c TongyiFapiao.DAL.TongyiFafiaoContext -p TongyiFapiao.DAL 

dnx ef database update -c TongyiFapiao.DAL.TongyiFafiaoContext 

НО:

Если вы идете в dnx github page вы можете прочитать

DNX (отставной)

DNX идет на пенсию в поддержка новых инструментов командной строки командной строки. См:

http://dotnet.github.io/getting-started/

http://github.com/dotnet/cli

В результате, мы не принимаем больше изменений в этом проекте. Пожалуйста, напишите любые новые выпуски на http://github.com/dotnet/cli.

Отлично, я люблю менять имя каждые 6 месяцев, это намного лучше для понимания и поиска через Интернет. Я обещаю, что я обновлю этот ответ, когда выйдет 4-я новая команда.

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