Неправильная структура папок при создании пакета nuget из csproj

Я создаю пакет nuget из проекта библиотеки классов, созданного с помощью Visual Studio 2013. Мой проект имеет следующую файловую структуру:

введите здесь описание изображения

Я сгенерировал файл nuspec и оставил его почти без изменений. Если я правильно понял документы NuGet, «nuget pack Infrastructure.csproj» должен привести к пакету со следующей структурой:

введите здесь описание изображения

Только это не так. Я получаю это:

введите здесь описание изображения

Если я установлю этот пакет, test.js окажется не в «~/Scripts/Infrastructure/test.js», а в «~/Content/Scripts/Infrastructure/test.js». Что я могу делать неправильно? И есть ли способ настроить это поведение в файле nuspec?


person EPLKleijntjens    schedule 09.05.2014    source источник


Ответы (1)


Все, что вам нужно сделать, это удалить папку Content, другими словами, поместить папку Scripts в корень исходного проекта.

Это приведет к установке папки Scripts в корень проекта, в котором вы устанавливаете пакет Nuget.

person Yann Duran    schedule 27.05.2014
comment
Спасибо, это работает! Я просто предположил, что соглашения по упаковке рабочего каталога применимы и к упаковке проекта, но теперь я вижу, что это не так. Теперь мне интересно, как включить файл .cs из моего проекта в пакет, но это уже другой вопрос. Спасибо еще раз! - person EPLKleijntjens; 27.05.2014
comment
Все, что вы поместите в корень вашего проекта (если для типа сборки установлено значение content), будет автоматически скопировано в проект, в который устанавливается пакет, включая папки. Я рад, что смог быть полезным. - person Yann Duran; 27.05.2014