.NET, включая базу данных библиотеки классов (и другие ресурсы) с развертыванием приложений Windows.

У меня есть библиотека классов, которая присоединяется к крошечной базе данных SQL Server, которая находится в ее каталоге данных. Когда я использую эту библиотеку классов с другим приложением Windows, я вижу, что после компиляции моего кода файлы базы данных копируются в папку bin моего проекта приложения Windows. Однако, когда я публикую приложение Windows, устанавливаю и запускаю его, я получаю сообщение об ошибке «Попытка присоединить базу данных с автоматическим именем для файла C:\Documents and Settings\User\Local Settings\Apps\2.0\Data..\ Ошибка DB.mdf.' Очевидно, что в этой папке нет файлов mdf.

Я думаю, это не будет проблемой, если я просто добавлю файлы базы данных в свой проект приложения Windows. Но наверняка есть лучший способ?


person Prabath Yapa    schedule 05.10.2010    source источник


Ответы (1)


Вы можете включить сценарий SQL для создания базы данных в свою «установку/запуск в первый раз».

Я предполагаю, что вы уже заявили, что наличие версии SQL Server является обязательным условием для установки.

Для файлов данных я бы рекомендовал вам использовать переменную строку подключения для доступа к вашей базе данных. Таким образом, вы можете изменить процедуру установки, включив в нее запрос пользователя, где он хочет установить файлы данных, и сохранить это как часть строки подключения в файле app.config.

И наоборот, вы также можете использовать выбор пользователем места для установки приложения, чтобы переопределить относительный путь, хранящийся для базы данных в вашем коде (используя ту же переменную строки подключения, что и упомянутая выше).

person ChrisBD    schedule 05.10.2010