Реструктуризация каталогов проектов MVC3 по умолчанию и NuGet

Однажды я смотрел видео TekPub на MVC2, в котором предлагалось переименовать папку Content в Public, добавить скрипты в эту папку и т. д.

Несколько разработчиков, которым я показываю MVC, предпочли эту структуру и попробовали ее. Однако с включением NuGet кажется, что папки будут находиться в стандартных местах. Например. JQuery, я думаю, просто помещает себя в папку \Scripts. Угадайте, что это соглашение по конфигурации.

Можно ли как-то реструктурировать папки по умолчанию, но объяснить NuGet, куда что класть? Это просто плохая идея изменить макет по умолчанию?


person GraemeMiller    schedule 22.09.2011    source источник
comment
Я не уверен, что проблема здесь именно в nuget, я думаю, что дело в самих пакетах?   -  person Andras Zoltan    schedule 23.09.2011
comment
Да, это может быть так. Просто я предположил, что что-то нацелено на местоположения по умолчанию, и будет способ переопределить это. Я думал, что соглашение важнее конфигурации, но я мог настроить его по-другому   -  person GraemeMiller    schedule 23.09.2011
comment
конечно, было бы очень приятно иметь возможность это сделать   -  person Andras Zoltan    schedule 23.09.2011


Ответы (2)


arrow_upward
6
arrow_downward

Проблема в том, что в настоящее время, когда вы создаете пакет, вы указываете в файле .nuspec путь, по которому файл в конечном итоге окажется. Так что прямо сейчас все в значительной степени жестко запрограммировано для перехода к /Content.

На самом деле мы обсуждали добавление возможности указывать виртуальные папки или заполнители в вашем файле .nuspec. Затем конечный пользователь может определить сопоставление, чтобы сказать, что все файлы $scripts переходят в /public/js и т. д.

Вы можете увидеть обсуждение здесь http://nuget.codeplex.com/discussions/256542.

Мы можем создать проблему для этого и заставить людей проголосовать за нее.

person Kiliman    schedule 23.09.2011
comment
Звучит как хорошая идея. Не уверен, что многим это будет полезно. Хотя кажется, что это хорошая функция. - person GraemeMiller; 26.09.2011

arrow_upward
3
arrow_downward

Nuget не может узнать, куда вы случайно решили поместить материал. Он не может читать ваши мысли, и без какой-либо конфигурации, которой у Nuget нет для такого рода вещей, это просто невозможно.

Вот почему вы должны придерживаться соглашений, потому что это сэкономит вам много работы, если вам когда-нибудь понадобится использовать сторонние инструменты.

person Erik Funkenbusch    schedule 23.09.2011
comment
Не думал, что случайно узнает. Я задавался вопросом, может ли это сделать какое-то преобразование. например пакет хочет записать в /Scripts, который я мог бы настроить для перенаправления записи в /Public/Scripts - person GraemeMiller; 23.09.2011
comment
@GraemeMiller - не то чтобы я в курсе, но это может быть хорошим предложением. visualstudio.uservoice.com/forums/121579-visual-studio - person Erik Funkenbusch; 23.09.2011