Подтвердить что ты не робот

Требуется ли app.config для .NET проектов С#?

К моему раздражению, Visual Studio 2010 добавила файлы App.config ко всем моим .EXE-проектам, когда я сменил цель с .NET Framework 3.5 на .NET Framework 4.0. Итак, моя автоматическая сборка сломалась, пока я не проверил эти новые файлы.

Есть ли какая-то особая причина, по которой я не могу просто удалить эти файлы App.config? Или Visual Studio собирается добавлять их в мои проекты?

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

Разъяснение:

Я понимаю, для чего нужен app.config. Я не понимаю, почему Visual Studio 2010 добавляет файл app.config в существующий проект, когда я меняю проект на целевой .NET 4.0, а не на .NET 3.5. Мое приложение ничего не требует от app.config для запуска, поэтому мой единственный разумный вывод заключается в том, что либо Visual Studio по какой-то причине нуждается в app.config для компиляции, либо кто-то решил, что они знают лучше меня и мое приложение должно иметь app.config, хотя я не хочу его.

К сожалению... Я провозгласил.

Дальнейшие разъяснения:

Преобразование проекта из Visual Studio 2008 в Visual Studio 2010 не является проблемой. Это когда я меняю цель с .NET Framework 3.5 на .NET Framework 4.0, добавляя app.config в проект. Приложение app.config содержит следующее:

<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

Когда я меняю его на целевую .NET Framework 3.5, файл app.config изменяется следующим образом:

<supportedRuntime version="v2.0.50727"/>

Я думаю, что вижу, что они пытаются сделать, но добавив, что файл app.config автоматически был действительно плохим.

4b9b3361

Ответ 1

Единственный раз, когда я знаю, что app.config является обязательным в проекте .NET 4, если вы ссылаетесь на сборку смешанного режима CLR-2.0. В этом случае вам нужно добавить useLegacyV2RuntimeActivationPolicy = "true" в элемент запуска, или вы получите ошибки во время выполнения.

Однако инструмент преобразования VS не обнаруживает этого и по умолчанию добавляет файл app.config, который действительно не нужен. Если вы сможете запустить после преобразования, это, вероятно, не проблема для вас.

В противном случае вы можете удалить его (если, конечно, вы не используете его для других целей).

Ответ 2

Файл app.config не требуется. Приложения будут работать отлично, без них.

ИЗМЕНИТЬ

Reed указал, что есть один случай, когда это неверно, что стоит отметить

Существует одна ситуация, когда это необходимо - если ваш проект ссылается на сборку смешанного режима CLR 2.0, у вас должен быть файл app.config для запуска

Ответ 3

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

Вам нужно будет проверить, что он содержит, чтобы определить, есть ли в нем что-то необходимое.