Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Развертывание .NET + Entity Framework приложения, об SQL Server 
V
    Опции темы
tumakovandrew
Дата 8.9.2016, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.3.2010

Репутация: нет
Всего: нет



Доброго времени суток!

Разрабатываю небольшую прогу с окошками на WinForms и базой данных на основе Entity Framework 6 (Code First) и MS SQL Server. (Прога для ввода\вывода данных в\из БД и генерация Word документов)
База данных - локальная (Service-based Database с расширением файла .mdf)

Для разработки использую Windows 10 и Visual Studio Community 2015.

Для развертывания сейчас использую ClickOnce.

Раньше для того, чтобы перенести приложение на другой компьютер, достаточно было скомпилировать код и перенести все содержимое каталога Debug (ну или Release) на этот самый компьютер ну и может .NET Framework нужный доставить и все работает. Понятно, что раз используется подключение к базе данных, то необходимо и СУБД установить. 

Первая моя попытка перенести приложение на другой компьютер имела успех, т.к. это был мой другой компьютер, на котором установлена такая же Visual Studio (или может даже чуть свежее) со всем своим фаршем. При попытке поставить приложение на ПК, где Visual Studio и SQL Server и не пахло, закономерно возникает ошибка, типа "не могу подключиться к БД".

Путем различных манипуляций я выяснил, что само приложение готово запускаться на любом компьютере, лишь бы фреймворк дали подходящий, а вот та часть, что с бд работает - валится с ошибками. Установка MS SQL Server 2014\Compact 4.0 успехов не принесла. Пока пытаюсь выяснить что еще ему надо для работы, но безуспешно.
Что же ему надо, чтобы наконец-то заработать?
Неужели придется ставить тяжеленную VS на комп ради моей скромной программы? (надеюсь, что нет)

На скрине показано окно ошибки, возникающей после запуска приложения (появляется примерно через минуту после запуска) на ПК Win 7

UPD: Удалось получить информацию по ошибке

Код

System.ArgumentException: Expansion of |DataDirectory| failed while processing the connection string. Ensure that |DataDirectory| is set to a valid fully-qualified path.
   в System.Data.Entity.Core.Common.DbProviderServices.ExpandDataDirectory(String path)
   в System.Data.Entity.SqlServer.SqlProviderServices.GetOrGenerateDatabaseNameAndGetFileNames(SqlConnection sqlConnection, String& databaseName, String& dataFileName, String& logFileName)
   в System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection)
   в System.Data.Entity.Core.Common.DbProviderServices.CreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection)
   в System.Data.Entity.Core.Objects.ObjectContext.CreateDatabase()
   в System.Data.Entity.Migrations.Utilities.DatabaseCreator.Create(DbConnection connection)
   в System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
   в System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration)
   в System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext, Func`3 createMigrator, ObjectContext objectContext)
   в System.Data.Entity.Internal.InternalContext.CreateDatabase(ObjectContext objectContext, DatabaseExistenceState existenceState)
   в System.Data.Entity.Database.Create(DatabaseExistenceState existenceState)
   в System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context)
   в System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf`1.<CreateInitializationAction>b__e()
   в System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action)
   в System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()
   в System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(InternalContext c)
   в System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input)
   в System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action)
   в System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase()
   в System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
   в System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
   в System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
   в System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider()
   в System.Linq.Queryable.Where[TSource](IQueryable`1 source, Expression`1 predicate)
   в MetalRecieveClientControl.ContractorListForm.LoadNoJuridical(String searchstring)
   в MetalRecieveClientControl.ContractorListForm.toolStripComboBox1_SelectedIndexChanged(Object sender, EventArgs e)
   в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   в System.Windows.Forms.ToolStripComboBox.OnSelectedIndexChanged(EventArgs e)
   в System.Windows.Forms.ToolStripComboBox.HandleSelectedIndexChanged(Object sender, EventArgs e)
   в System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
   в System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
   в System.Windows.Forms.ComboBox.WndProc(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Это сообщение отредактировал(а) tumakovandrew - 8.9.2016, 20:09

Присоединённый файл ( Кол-во скачиваний: 0 )
Присоединённый файл  VirtualBox_win_7_08_09_2016_13_48_12___копия.png 45,72 Kb
PM MAIL   Вверх
Uvs
Дата 13.10.2016, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.8.2007
Где: Челябинск

Репутация: нет
Всего: нет



1. Можно попробовать сделать инсталляшку и указать какие библиотеки используются.
2. Раз база локальная - логичнее расшарить папку на своем компе с exe-шником, и вперёд...

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL ICQ Skype   Вверх
Uvs
Дата 13.10.2016, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.8.2007
Где: Челябинск

Репутация: нет
Всего: нет



1. Можно попробовать сделать инсталляшку и указать какие библиотеки используются.
2. Раз база локальная - логичнее расшарить папку на своем компе с exe-шником, и вперёд...

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL ICQ Skype   Вверх
Uvs
Дата 13.10.2016, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.8.2007
Где: Челябинск

Репутация: нет
Всего: нет



1. Можно попробовать сделать инсталляшку и указать какие библиотеки используются.
2. Раз база локальная - логичнее расшарить папку на своем компе с exe-шником, и вперёд...

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL ICQ Skype   Вверх
Uvs
Дата 13.10.2016, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.8.2007
Где: Челябинск

Репутация: нет
Всего: нет



1. Можно попробовать сделать инсталляшку и указать какие библиотеки используются.
2. Раз база локальная - логичнее расшарить папку на своем компе с exe-шником, и вперёд...

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL ICQ Skype   Вверх
Uvs
Дата 13.10.2016, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.8.2007
Где: Челябинск

Репутация: нет
Всего: нет



1. Можно попробовать сделать инсталляшку и указать какие библиотеки используются.
2. Раз база локальная - логичнее расшарить папку на своем компе с exe-шником, и вперёд...

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1239 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.