Скопируйте app.config для развертывания - PullRequest
3 голосов
/ 18 июня 2011

Если у меня есть проекты, которые развертываются путем копирования файлов (исполняемые файлы, файлы DLL и файлы данных) в их целевую папку, правильно ли я могу пропустить копирование файла app.config (executableName.config), потому что он все равно будет созданпри первом запуске приложения на пользователя в локальном хранилище пользователей?

Или иначе спрашивается, правильно ли, что app.config (executableName.config) в каталоге exeutables /bin/debug или /bin/release предназначен только для целей отладки и может быть удален без каких-либо последствий?

Я тестировал и использовал это до сих пор без проблем (удаляя и не развертывая файл конфигурации), но, возможно, существуют некоторые побочные эффекты, которые не очевидны на первый взгляд?

Ответы [ 3 ]

1 голос
/ 18 июня 2011

Насколько я понимаю из этой статьи , файл [AppName] .exe.config будет объединен с другими файлами конфигурации (например, Machine.config, User.config), когда код запрашивает конфигурацию.

Таким образом, если у вас нет какой-либо конфигурации и вы решили опустить конфигурацию exe, у вас не должно возникнуть никаких проблем.

Конфигурация exe не используется дляцели отладки.

1 голос
/ 18 июня 2011

Я никогда не видел, чтобы .config файлы генерировали себя раньше. Наиболее распространенным подходом является использование application deployment framework, который берет файл .config, используемый для разработки, и модифицирует его в зависимости от среды, в которой вы развертываете. Например, в нашем проекте мы имеем:

web.config
web.development.config
web.testing.config
web.production.config

web.config содержит все, остальные содержат преобразования, например ...

web.config

  <connectionStrings>
    <clear />
    <add name="MyConnectionString" connectionString="<Dev connection string>" providerName="System.Data.SqlClient" />
  </connectionStrings>

и в web.production.config

  <connectionStrings>
    <add name="MyConnectionString"
      connectionString="<Production connection string>"
      xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
  </connectionStrings>

Поэтому, когда я публикую в производство, используя инструмент публикации, он изменяет мой конфигурационный файл на лету.

Для получения дополнительной информации, Google AppDeploy

Надеюсь, это поможет?

1 голос
/ 18 июня 2011

Файлы pdb предназначены для отладки, а не для файла конфигурации. Файлы конфигурации предназначены для конфигурации. Поскольку вы уже создаете его для каждого пользователя при запуске, следовательно, вы можете удалить его.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...