'prebuild' scripts in project.json doesn't run

后端 未结 4 836
长发绾君心
长发绾君心 2021-02-19 10:56

I have a .NET 5 web application using the DNX framework, and I want to run \'npm install\', \'bower install\' and others, whenever I build the project.

Right now I\'m ab

相关标签:
4条回答
  • 2021-02-19 11:18

    I know this question is a bit older, but google lead me to it. As of 06/19/2016, you should use precompile instead of prebuild. The new documentation for the project.json file is available at https://docs.microsoft.com/pt-br/dotnet/articles/core/tools/project-json#scripts.

    The valid script options for the project.json file are:

    • precompile
    • postcompile
    • prepublish
    • postpublish

    And Microsoft has already released an announcement stating they will be reverting back to the old .csproj format. You can read about it on the MSDN blog.

    The first wave of this change will happen in the Visual Studio “15” RTM: when opening any .NET Core project in Visual Studio, it will automatically convert from .xproj to .csproj, moving the assets from the project.json file into configuration files and the .csproj file. We will also provide a tool for converting applications using the .NET command line tools as well.

    0 讨论(0)
  • 2021-02-19 11:18

    @Stajs's answer is correct but another step may be needed when working with TypeScript, which seems to be the case here.

    By default, Visual Studio compiles the TypeScript sources before it pipes the build through dnu. So if there are new tsd type definitions or other references that will only work if tsd install is run first, the build will fail. It's a catch 22.

    To prevent Visual Studio from running the TypeScript transpilation, you also have to uncheck the Compile TypeScript on build checkbox on the Properties > Build page.

    Note that this only makes sense if you add TypeScript compilation yourself to your gulp or grunt file.

    0 讨论(0)
  • 2021-02-19 11:19

    I haven't looked for beta5 but DNX have some documentation about the supported scripts right here.

    Basically this:

    {
      "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"
      }
    }
    
    0 讨论(0)
  • 2021-02-19 11:38

    As of RC1, you have to "produce outputs" to pipe the build through dnu:

    image

    image

    0 讨论(0)
提交回复
热议问题