исключить папку в проекте.формат JSON
в новом asp.net 5 шаблон есть проект.JSON в котором вы можете исключить определенные каталоги.
"exclude": [
"wwwroot",
"node_modules",
"bower_components",
"dist",
".tmp"
]
Как вы можете видеть, я добавил несколько папок, таких как "dist " и".tmp', но они все еще включены в Обозреватель решений. Документов об этом немного. Как exculde файлов/папок из проекта в VS 2015?
6 ответов
свойство "exclude "не скрывает папку из visual studio, оно не заставит папку" исчезнуть " из Обозревателя решений.
свойство "exclude" удаляет папку из пути поиска компиляции. это инструкция компилятору (Roslyn), а не IDE. Как более полный ответ "проект.json " намеренно является агностиком IDE. Именно поэтому есть и projecname.xspoj и проект.json, которые оба содержат конфигурацию проекта информация. Это необходимо для обеспечения более надежной кросс-IDE и кросс-платформенной разработки.
вы можете проверить это сами с помощью простого упражнения.
- Добавить новый файл класса (buildfail.cs) к существующему проекту (или создать новый проект) в корневой папке проекта.
- обеспечить buildfail.CS имеет то же пространство имен, что и другие исходные файлы в project, содержит ошибки компиляции и находится в корне справочник.
- вы должны увидеть ошибки сборки в VS. Если вы не создаете вручную.
- создать новую папку (excludeme) из корня проекта и переместить buildfail.cs в эту папку. У вас все равно должны быть ошибки сборки.
- добавить excludeme в свойство exclude в проекте.формат JSON. Ошибки build должны быть удалены, потому что builfail.cs больше не находится в пути поиска сборки.
вам может быть интересно, что VS использует, чтобы знать, чтобы скрыть папка node_packages на дисплее обозревателя решений. Я не уверен, и он не может быть пользователем, но не исключить собственность. Комментировать node_packages в проекте.json и вы получите ошибки сборки (сбой восстановления пакета), но папка все равно будет скрыта от обозревателя решений. Поскольку это специфическое поведение IDE, можно предположить, что, возможно, оно определено в projectname.xproj, но я не нашел такого свойства, поэтому в это время это будет магия черного ящика VS.
по состоянию на Asp.Net 5 бета-8 и дополнительное обновление инструментов для Visual Studio 2015 теперь можно исключить / скрыть папки из отображения в обозревателе решений. Более подробная информация об этом и других изменениях приведена в разделе анонс поста. Чтобы скрыть файл или папку, щелкните правой кнопкой мыши контекстное меню и выберите Hide from solution explorer
. Это создает запись в :
<ItemGroup>
<DnxInvisibleContent Include="myhiddenfile.txt" />
</ItemGroup>
обратите внимание также, что произошло изменение где пакеты bower устанавливаются по умолчанию. Ранее Asp.Net 5 шаблоны в Visual Studio установят пакеты bower в папку с именем bower_components
, практика, знакомая веб-разработчикам, которые не используют Visual Studio. Однако, по-видимому, из-за путаницы разработчиков, это было изменено на wwwroot/lib
. Это можно изменить, отредактировав . Таким образом,bower_components
папка не существует в новых шаблонах beta-8. Пожалуйста, смотрите этот пост Скотт Хансельман для более информация.
Это может быть не идеально, но я смог скрыть папку из Обозревателя решений в Asp.net 5 проект, пометив папку как скрытую в диалоговом окне свойств проводника windows. У меня было.папка идеи, используемая WebStorm, появляется, поэтому ее скрытие не было слишком большим делом. WebStorm не возражает.
кажется, что папка не будет скрыта, если она уже в обозревателе решений. Отметьте его, и его содержимое скрыто и временно переместите его из папки проекта. Делать конечно, он исчезает из Обозревателя решений, прежде чем переместить его обратно. Он не должен появляться. Перезапуск Visual Studio также может работать, я не тестировал это.
правильно или неправильно, вот что я сделал, чтобы получить bower_components
и .sass-cache
С дороги. В моем случае, node_modules
был уже исключен из моего проекта как-то, хотя он находится на одном уровне с gruntfile.js
. Я до сих пор не понимаю, почему к нему относятся по-другому. Кто-нибудь знает?
во-первых, я установил свое местоположение так в :
{
"directory": "../../artifacts/bower_components"
}
затем я скорректировал свои пути по мере необходимости в моем gruntfile.js
, чтобы получить sass-cache
папка из кстати, так как я использовал grunt-contrib-compass
, Я настроил свою задачу компаса с этой опцией:
cacheDir: '../../artifacts/.sass-cache',
есть и другие способы сделать это, если вы используете другие инструменты Sass / compass.
результат:
- теперь я могу искать весь свой проект для текста и не получать хиты в моих библиотеках.
-
bower_components
и.sass-cache
находятся вне досягаемости системы управления версиями.
С последней Visual Studio вам просто нужно щелкнуть правой кнопкой мыши папку / файл и выбрать "скрыть из Обозревателя решений".
это изменит "xproj" таким образом:
<ItemGroup>
<DnxInvisibleFolder Include="wwwroot\" />
</ItemGroup>
глядя на состояние asp.net 5 с visual studio 2015 я могу только сказать, что они сделали гораздо более сложной и неудобной работу с бегунами задач, такими как gulp или grunt. Поскольку я использую Web API 2 для управления данными, я переключился на Visual Studio Code с bower, gulp и browsersync, и это оказалось намного проще и быстрее с гораздо меньшим беспорядком.
чтобы создать шаблон запуска:https://github.com/Swiip/generator-gulp-angular
теперь вы можете использовать любой редактор,и вы получите четкое разделение передней и задней разработки. Кроме того, вы узнаете gulp и bower и (минимальный) материал командной строки, который VS2015 пытается сделать для вас (и не делает так много раз).
О да: вам больше не нужно исключать папки, так как шаблон имеет гораздо более разумную структуру папок