2016-01-29 2 views
0

Сегодня я попытался развернуть мой проект asp.net core 1.0 на моем сервере. Я создал FileSystemDeploy в Visual Studio и передал его на свой сервер. Там я хочу запустить веб-сайт в контейнере докеров. Я использую microsoft/aspnet: 1.0.0-rc1-update1-coreclr.ASP.NET Core 1.0 EF7 System.Data.SqlClient не найден

Только для тестирования я начал Docker изображение с помощью следующей команды:

docker run -it --name JamesWeb -v ~/James/James.Web:/root --net=host microsoft/aspnet:1.0.0-rc1-update1-coreclr 

Тогда я сделал ДНУ восстановить, который работал, как ожидалось. После этого я начал приложение с dnu web. Пока нет ошибок в консоли. Когда я открываю сайт стартовая страница также работает, но когда я пытаюсь перейти на страницу, где я использую DatabaseContext я получаю сообщение об ошибке:

fail: Microsoft.Data.Entity.Query.Internal.QueryCompiler[1] 
    An exception occurred in the database while iterating the results of a query. 
    System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.SqlClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 

    File name: 'System.Data.SqlClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ---> System.IO.FileNotFoundException: Could not load the specified file. 
    File name: 'System.Data.SqlClient' 
    at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyName(AssemblyName assemblyName) 
    at System.Runtime.Loader.AssemblyLoadContext.Resolve(IntPtr gchManagedAssemblyLoadContext, AssemblyName assemblyName) 
    at Microsoft.Data.Entity.Storage.Internal.SqlServerConnection.CreateDbConnection() 
    at Microsoft.Data.Entity.Internal.LazyRef`1.get_Value() 
    at Microsoft.Data.Entity.Storage.RelationalConnection.Open() 
    at Microsoft.Data.Entity.Query.Internal.QueryingEnumerable.Enumerator.MoveNext() 
    at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext() 
    at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext() 
    at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) 
    at lambda_method(Closure , QueryContext) 
    at Microsoft.Data.Entity.Query.Internal.QueryCompiler.<>c__DisplayClass18_1`1.<CompileQuery>b__1(QueryContext qc) 

Я использую следующий строка соединения для DbContext:

"Server=(localdb)\\mssqllocaldb;Database=James-Web;Trusted_Connection=True;MultipleActiveResultSets=true" 

Выход запустив DnX обновление базы данных эф применить миграцию:

File name: 'System.Data.SqlClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ---> System.IO.FileNotFoundException: Could not load the specified file. 
File name: 'System.Data.SqlClient' 
    at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyName(AssemblyName assemblyName) 
    at System.Runtime.Loader.AssemblyLoadContext.Resolve(IntPtr gchManagedAssemblyLoadContext, AssemblyName assemblyName) 
    at Microsoft.Data.Entity.Storage.Internal.SqlServerConnection.CreateDbConnection() 
    at Microsoft.Data.Entity.Internal.LazyRef`1.get_Value() 
    at Microsoft.Data.Entity.Migrations.Internal.Migrator.Migrate(String targetMigration) 
    at Microsoft.Data.Entity.Design.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType) 
    at Microsoft.Data.Entity.Commands.Program.Executor.Execute(Action action) 
Could not load file or assembly 'System.Data.SqlClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 

project.json:

{ 
    "userSecretsId": "aspnet5-James.Web-9bb7a5b0-c3f5-4309-984f-5c6057584cb5", 
    "webroot": "wwwroot", 
    "version": "1.0.0-*", 
    "compilationOptions": { 
    "emitEntryPoint": true 
    }, 

    "dependencies": { 
    "EntityFramework.Commands": "7.0.0-rc1-final", 
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final", 
    "Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1", 
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final", 
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final", 
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final", 
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", 
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final", 
    "Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final", 
    "Microsoft.AspNet.Authentication.Facebook": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Authentication.Google": "1.0.0-rc1-final" 
    }, 

    "frameworks": { 
    "dnx451": { 
     "frameworkAssemblies": { 
     "System.IO.Compression": "4.0.0.0", 
     "System.IO.Compression.FileSystem": "4.0.0.0" 
     } 
    }, 
    "dnxcore50": { 
     "dependencies": { 
     "System.IO.Compression.ZipFile": "4.0.1-beta-23516" 
     } 
    } 
    }, 

    "commands": { 
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5000", 
    "ef": "EntityFramework.Commands" 
    }, 

    "exclude": [ 
    "wwwroot", 
    "node_modules" 
    ], 
    "publishExclude": [ 
    "**.user", 
    "**.vspscc" 
    ], 
    "scripts": { 
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ] 
    } 
} 

ответ

2

Это известная проблема в RC1 в пути DNX готовит заявку на публикацию. Насколько я знаю, для RC1 не существует обходного пути. Это должно быть исправлено в RC2. См. https://github.com/aspnet/dnx/issues/3316 и https://github.com/dotnet/cli/issues/881

+0

Спасибо. Есть ли дата исправления для этой версии? И могу ли я вернуться к более старой версии? –

+1

https://github.com/aspnet/Home/wiki/Roadmap – natemcmaster

+0

Предыдущие версии еще более уязвимы в Linux. – natemcmaster

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