Однажды я смотрел видео TekPub на MVC2, в котором предлагалось переименовать папку Content в Public, добавить скрипты в эту папку и т. д.
Несколько разработчиков, которым я показываю MVC, предпочли эту структуру и попробовали ее. Однако с включением NuGet кажется, что папки будут находиться в стандартных местах. Например. JQuery, я думаю, просто помещает себя в папку \Scripts. Угадайте, что это соглашение по конфигурации.
Можно ли как-то реструктурировать папки по умолчанию, но объяснить NuGet, куда что класть? Это просто плохая идея изменить макет по умолчанию?
Ответ 1 · рейтинг 6 · Kiliman
Проблема в том, что в настоящее время, когда вы создаете пакет, вы указываете в файле .nuspec путь, по которому файл в конечном итоге окажется. Так что прямо сейчас все в значительной степени жестко запрограммировано для перехода к /Content.
На самом деле мы обсуждали добавление возможности указывать виртуальные папки или заполнители в вашем файле .nuspec. Затем конечный пользователь может определить сопоставление, чтобы сказать, что все файлы $scripts переходят в /public/js и т. д.
Вы можете увидеть обсуждение здесь http://nuget.codeplex.com/discussions/256542.
Мы можем создать проблему для этого и заставить людей проголосовать за нее.
Ответ 2 · рейтинг 3 · Erik Funkenbusch
Nuget не может узнать, куда вы случайно решили поместить материал. Он не может читать ваши мысли, и без какой-либо конфигурации, которой у Nuget нет для такого рода вещей, это просто невозможно.
Вот почему вы должны придерживаться соглашений, потому что это сэкономит вам много работы, если вам когда-нибудь понадобится использовать сторонние инструменты.