В среду выполнения. NET добавлена поддержка макроса DataDirectory. Это позволяет Visual Studio помещать специальную переменную в строку подключения, которая будет развернута во время выполнения.
Таким образом, вы можете изменить строку подключения следующим образом:
"Data Source=.\SQLExpress;AttachDbFileName=|DataDirectory|\data.mdf"
По умолчанию | DataDirectory | переменная будет расширена следующим образом:
- Для приложений, размещенных в каталоге на пользовательском компьютере, это будет папка приложения (.exe).
- Для приложений, запущенных в ClickOnce, это будет специальная папка данных, созданная ClickOnce
- . Для веб-приложений это будет папка App_Data
Под капотом значение для | DataDirectory | просто происходит от свойства в домене приложения. Можно изменить это значение и переопределить поведение по умолчанию, выполнив следующее:
AppDomain.CurrentDomain.SetData("DataDirectory", newpath)