Подтвердить что ты не робот

Сценарии "prebuild" в project.json не запускаются

У меня есть веб-приложение .NET 5, использующее инфраструктуру DNX, и я хочу запускать "npm install", "bower install" и другие, когда я создаю проект.

Сейчас я могу сделать это в публикации, используя "prepublish", но, похоже, он не работает с "prebuild", хотя я видел, что это возможно здесь

Что у меня сейчас:

"scripts": {
    "prepublish": [ "npm install", "bower install", "tsd install", "gulp min" ]
}
4b9b3361

Ответ 2

Я знаю, что этот вопрос немного старше, но Google приводит меня к этому. По состоянию на 06/19/2016 вы должны использовать precompile вместо prebuild. Новая документация для файла project.json доступна по адресу https://docs.microsoft.com/pt-br/dotnet/articles/core/tools/project-json#scripts.

Допустимыми параметрами script для файла project.json являются:

  • прекомпиляцию
  • postcompile
  • prepublish
  • postpublish

И Microsoft уже опубликовала объявление о том, что они вернутся в старый формат .csproj. Вы можете прочитать об этом в блоге MSDN.

Первая волна этого изменения произойдет в RTM Visual Studio "15": при открытии любого проекта .NET Core в Visual Studio он автоматически преобразует из .xproj в .csproj, перемещая активы из project.json файл в файлы конфигурации и файл .csproj. Мы также предоставим инструмент для конвертации приложений с использованием инструментов командной строки .NET.

Ответ 3

Я не искал beta5, но у DNX есть документация о поддерживаемых сценариях прямо здесь.

В основном это:

{
  "scripts": {
    "prebuild": "echo before building",
    "postbuild": "echo after building",
    "prepack": "echo before packing",
    "postpack": "echo after packing",
    "prerestore": "echo before restoring packages",
    "postrestore": "echo after restoring packages"
  }
}

Ответ 4

@Stajs answer является правильным, но при работе с TypeScript может потребоваться другой шаг.

По умолчанию Visual Studio компилирует источники TypeScript до того, как он завершит сборку через dnu. Поэтому, если существуют новые определения типа tsd или другие ссылки, которые будут работать, только если tsd install будет запущен первым, сборка завершится с ошибкой. Это уловка 22.

Чтобы запретить Visual Studio выполнять трансляцию TypeScript, вам также нужно снять флажок Compile TypeScript on build на странице Свойствa > Строить.

Обратите внимание, что это имеет смысл только в том случае, если вы добавили компиляцию TypeScript к вашему файлу gulp или grunt.