Обратите внимание на атрибут name
раздела?
попробуйте удалить свой элемент из <applicationSettings>
оболочки
<Tools.Instrumentation.Properties.Settings>
<setting name="LogLevel" serializeAs="String">
<value>DEBUG</value>
</setting>
<setting name="AppName" serializeAs="String">
<value>MyApp</value>
</setting>
<setting name="Port" serializeAs="String">
<!--value>33333</value-->
<value>0</value>
</setting>
</Tools.Instrumentation.Properties.Settings>
Теперь вы можете использовать раздел. Но у вас нет сгенерированного класса-обертки, вам нужно будет немного больше поработать, чтобы получить значения с помощью ConfigurationManager
.
Что касается второй части вашего вопроса, то, с одной точки зрения, практически нет разницы в том, как файлы конфигурации обрабатываются веб-приложением по сравнению с приложениями форм.
Единственное существенное отличие, которое может иметь или не иметь отношение к делу, заключается в том, что файлы web.config могут отображаться иерархически, причем каждый последующий файл эффективно расширяет или изменяет родительскую конфигурацию, когда это разрешено. Но, на мой взгляд, это скорее поведенческая разница, чем функциональная.