Страницы

Поиск по вопросам

среда, 22 января 2020 г.

Копирование файла настроек в шаблоне проекта Visual Studio

#c_sharp #visual_studio_2017 #visual_studio_extensions


Делаю шаблон проекта VS и хочу, чтобы создаваемый проект содержал настройки и аргументы
запуска внешней программы. Файл с настройками должен быть просто скопирован в каталог
проекта. 

Сами настройки VS хранит в файле $projectname$.csproj.user на который нет никаких
ссылок из файла проекта (.csproj).

Тут возникает проблема: VS не копирует файлы, которые не задействованы в файле проекта.
В $projectname$.csproj должно быть прописано что-то вроде такого , чтобы файл $projectname$.csproj.user был, все-таки, скопирован. Но тогда он появляется
в Solution Explorer и настройки из него считываются только после переоткрытия решения.

Project.vstemplate:


    
      AssemblyInfo.cs
      ProjectTemplate.csproj.user
    



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


Ответы

Ответ 1



Можно скрыть элемент в Solution Explorer, если указать значение метасвойства Visible: За старый формат проекта не отвечаю. Скорее всего, там надо указывать отдельным элементом: false Это поможет избавиться от лишнего элемента в проекте, но вряд ли поможет с чтением настроек только после переоткрытия решения. Это попахивает ограничением IDE: разработчики, скорее всего, просто не рассчитывали, что пользовательские настройки будут создаваться не пользователем. Кстати, если перейдёте на новый формат проекта, то там профили запуска лежат отдельным красивым файлом launchSettings.json, и профилей может быть много с разными настройками. Рекомендую.

Комментариев нет:

Отправить комментарий