Изменение источника данных для строки подключения строго типизированного набора данных

Вот два вопроса, связанных с изменением источника данных для строки подключения строго типизированного набора данных.

Когда мое приложение развертывается, облегченная база данных (в форме Microsoft Access) развертывается в папке Application Data. У меня есть строго типизированный набор данных, который обернут вокруг этого. Итак, вопрос в том, как изменить следующий код app.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="XTrace.Properties.Settings.Timer_DBConnectionString"
            connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot;|DataDirectory|\Timer DB.mdb&quot;;Persist Security Info=True"
            providerName="System.Data.OleDb" />
    </connectionStrings>
</configuration>

Чтобы сделать это из копии папки Application Data?

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


person Graviton    schedule 12.01.2009    source источник


Ответы (3)


При развертывании приложения Windows Forms у вас может быть файл app.config.

yourproject.exe предоставляет файл yourproject.exe.config, который является файлом app.config.

person Richard L    schedule 12.01.2009
comment
Я не заметил, поскольку app.config скомпилирован в форму Windows - хороший улов (+1) - person Marc Gravell; 12.01.2009
comment
Спасибо, думаю, это именно то, что я хочу. Я могу использовать сценарии для изменения файла exe.config во время установки. - person Graviton; 12.01.2009

Вместо изменения файла .config вам может быть лучше добавить новое свойство строки подключения во время выполнения и использовать TableAdapterManager. Дополнительную информацию можно найти на странице http://rajmsdn.wordpress.com/2009/12/09/strongly-typed-dataset-connection-string/

person Raj Kashyap    schedule 11.12.2009

Для библиотек классов: настройки каждого проекта в app.config также должны быть изменены в файле .settings. Это означает: если вы измените только app.config, вы должны проверить Project -> Properties. В VS2012 изменения между файлом app.config и .settings отображаются сразу же, и предлагается возможность принять эти изменения. Без этого (поэтому измените только файл app.config) изменения не вступят в силу.

Настройки встроены в библиотеку классов (пример ниже), поэтому при обращении к ней нет файла .config.

Библиотека классов со встроенными изменениями

person FrenkyB    schedule 08.12.2013