Требуется ли app.config в проектах .Net 4.0 C #? - PullRequest
18 голосов
/ 30 сентября 2010

К моему большому раздражению, 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 было очень плохой идеей.

Ответы [ 3 ]

16 голосов
/ 30 сентября 2010

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

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

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

5 голосов
/ 30 сентября 2010

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

РЕДАКТИРОВАТЬ

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

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

2 голосов
/ 30 сентября 2010

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

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

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