Есть ли способ создать решение в одной папке? У меня есть несколько проектов в этом решении, и каждый из них получает конфигурационный файл, который должен находиться в текущем каталоге. Я просто перемещаю файлы сборки каждого проекта в один, и он все еще работает, однако он выглядит настолько неорганизованным и беспорядочным. Я просто хочу знать, что есть другие способы, как это сделать.Как построить все проекты в одной папке?
ответ
Вы можете установить выходной каталог в настройках каждого проекта в решении (если речь идет о Visual Studio). Меню: Проект -> Свойства -> Сборка -> Выходной путь. Например, я использую ..\Build\
для создания проектов в каталоге Build корня решения.
Для каждого проекта:
- Перейти в свойствах проекта, на вкладке "Построить".
- Выберите «Все конфигурации», «все платформы», просто в порядке.
- В выходной папке напишите «.. \ bin \» (или любой путь, который является однородным для всех из них, а не в текущей директории проекта). Кроме того, для организации DLL-файлов в подпапках вы можете написать «.. \ bin \ Sub-project-directory» в пути вывода. Затем вы должны добавить файл App.config для проекта EXE с помощью зондирования для всех DLL, чтобы их можно было найти и загрузить во время выполнения.
Вы можете изменить проекты «Выходной путь», по умолчанию это каталог bin данного проекта.
Щелкните правой кнопкой мыши по каждому проекту, выберите Properties
из контекстного меню, затем выберите Build
вкладка. На нижнем уровне в Output
раздел изменения Output path:
. Установите одинаковый путь для каждого проекта.
Я согласен с комментариями по вашему вопросу, вы не должны его менять. Вместо этого вы можете создать post build action (сценарий PS), который скопирует все файлы из каталогов bin проекта в один из указанных вами вами.
Update:
Набор команд этот сценарий, как сообщение сборки (Свойства- проекта> Build Events> Вкладка Post построить командную строку событий):
xcopy "$(TargetDir)*" "$(SolutionDir)Build" /s /i /Y
В этой статье MSDN объясняет, как сделать это красивым, сухим способом: https://blogs.msdn.microsoft.com/kirillosenkov/2015/04/04/using-a-common-intermediate-and-output-directory-for-your-solution/
Это позволяет вам указывать эти каталоги только один раз и использовать thos e в нескольких проектах.
Шаги:
Создание единого common.props файл в растворе, который будет указывать и перезаписывать выход и промежуточные пути для проекта в общий каталог (например, «Solution/бен»). Вот пример * .props файл, который я нашел связан в статье:
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir> <Configuration Condition="$(Configuration) == ''">Debug</Configuration> <OutputPath>$(SolutionDir)\bin\$(Configuration)\</OutputPath> <OutDir>$(OutputPath)</OutDir> <OutDir>$(OutputPath)</OutDir> <IntermediateOutputPath> $(SolutionDir)\obj\$(Configuration)\$(MSBuildProjectName)\ </IntermediateOutputPath> <UseCommonOutputDirectory>False</UseCommonOutputDirectory> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> </PropertyGroup> </Project>
Включите этот файл в каждом *.csproj, что вы хотите установить общие выходные каталоги для, добавив следующую строку (фактический путь может отличаться):
<Import Project="..\Common.props" />
Очень хорошее решение! Единственный недостаток - все еще нужно изменить каждый файл .csproj. Но после этого (возможно) будущие изменения намного проще. –
- 1. Как построить все файлы в одной папке на python?
- 2. TFS2012 Build Все проекты в папке
- 3. Как построить полимерные проекты в редакторе дротиков?
- 4. Сохранять все сценарии Python в одной папке?
- 5. Почему все файлы CSS в одной папке?
- 6. Как удалить все папки в папке, кроме одной в python?
- 7. sed в одной папке
- 8. Build Все проекты в каталоге
- 9. Как построить проекты .sqlproj на сервере сборки?
- 10. Angular2 CLI ng build размещает все файлы в одной папке
- 11. Как переименовать все файлы в одной папке без расширения имени
- 12. Как я могу получить все файлы .pdb в одной папке?
- 13. Visual Studio: как построить только некоторые проекты
- 14. как я могу построить проекты mozilla
- 15. Как построить ТОЛЬКО некоторые проекты во время построения градита
- 16. Как построить главный проект и зависимые проекты за один проход
- 17. Выполнить все скрипты в папке
- 18. Два проекта в ASP.NET в одной папке
- 19. Открыть все файлы в папке
- 20. Скомпилировать все проекты hotkey
- 21. Все проекты прекращают работу
- 22. Gerrit отсутствует все проекты
- 23. Subversion: Как экспортировать * все * проекты в репозиторий?
- 24. Как запустить все проекты в группе проектов?
- 25. Как получить все проекты в задаче SBT?
- 26. Как программно перечислить все проекты в решении?
- 27. Как перестроить все проекты в решении?
- 28. Соберите все модули Python, используемые в одной папке?
- 29. Gulp Sass Все файлы в одной папке с фильтром
- 30. Соберите все модули Python, используемые в одной папке?
* Почему * «должен» конфигурационный файл находится в текущем каталоге? Вы «просто перемещаете файлы сборки каждого проекта в один» - что? Один каталог? Один файл сборки? Один файл конфигурации? Под «конфигурационными файлами» вы имеете в виду файлы конфигурации, загруженные во время выполнения? Какова их связь с файлами сборки? Просьба уточнить ваш текст. –
Вы можете настроить выходную папку. Но обычно в одном решении не должно быть слишком много основных приложений (EXE), и каждый из них должен иметь свои собственные конфиги. –
У меня есть 2 консольных приложения (2 файла проекта). Другое консольное приложение изменяет содержимое файла конфигурации, а другое консольное приложение делает это на основе этого файла конфигурации. – user3068522