Файл настроек консольного приложения не создается

2

У меня есть решение, в котором есть 3 проекта. Один из них - консольное приложение, а другие 2 - это приложения для Windows. Оба приложения Windows используют консольное приложение, поэтому я добавил ссылку на консольное приложение в обоих проектах приложений Windows. Теперь, когда я создаю проекты окон, консольное приложение копируется в выходной каталог, но проблема в том, что его конфигурационный файл "consoleapp.exe.config" не копируется!

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

Как решить эту проблему?

Теги:
config
settings

3 ответа

2

Попробуйте следующее:

  • Выберите consoleapp.exe.config в дереве решений.

  • Выберите " Контент" для параметра Построить действие в сетке свойств.

  • Выберите Копировать всегда для параметра Копировать в каталог выпуска.

Надеюсь, это поможет вам:)

  • 3
    В дереве решений нет файла consoleapp.exe.config. Проект содержит файл app.config, который переименовывается в consoleapp.exe.config при сборке проекта. Я попробовал ваши шаги с app.config, и он действительно копирует его в вывод, но я хочу, чтобы он также был переименован в consoleapp.exe.config.
0

Ваши приложения используют значения по умолчанию для ваших настроек из скомпилированного кода ссылочного проекта.

Вам нужно скопировать ваш app.config из других проектов (или, по крайней мере, скопировать параметры, которые вы хотите изменить) в вызывающий проект, а затем, когда компиляция приложения будет иметь [YourAppName].exe.config, который вы можете изменить.

Все это происходит потому, что домен приложения в С# может иметь только один файл app.config уровня сборки. Здесь дополнительная информация о MSDN.

0

Быстрое создание проекта консоли в VS2008 и добавление "App.config", оно имеет настройки:

Действие сборки: нет
Скопировать в каталог Ouput: не копировать
Пользовательский инструмент: <blank>
Пользовательское пространство имен: <blank>

Однако я не уверен, какой эффект добавит ссылка на проект консоли, поскольку консольный проект представляет собой приложение, а не библиотеку классов.

Если вы хотите, чтобы консольное приложение запускалось с приложениями Windows для отладки, лучший подход, чем ссылки на проекты, должен был бы установить решение для запуска нескольких приложений. Щелкните правой кнопкой мыши по решению, выберите свойства и в меню "Пуск" node выберите несколько проектов. (И удалите ссылки на консольное приложение.)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню