如何在post build事件

时间:2016-11-19 12:47:05

标签: visual-studio typescript post-build-event

我有一个post build事件,它在我的一些控制器上运行反射代码,以在typescript中生成我的路由的定义。如果我在csproj中激活TypescriptCompile选项,如果任何Typescript文件不正确,DLL生成将失败。然后我的post build事件将失败,因为dll将不存在。

我想实现以下架构:

  1. 在没有打字稿编译的情况下构建我的dll
  2. 运行我的帖子构建事件以使用我的路由定义生成打字稿文件
  3. 运行另一个post build事件以编译/验证ts文件失败(如果它们不正确)
  4. 前两个步骤工作正常,但我被困在最后一个。未能找到命令行在csproj文件上运行typescript编译。

1 个答案:

答案 0 :(得分:0)

假设在构建后事件中,TypeScript源文件是在.\tsc-src下生成的。而你正在使用TypeScript 2.0。

您可以在tsconfig.json文件夹中添加tsc-src个文件,其中包含以下内容:

{
  "compilerOptions": {
    "baseUrl": "",
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es6", "dom"],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "outDir": "../tsc-dist",
    "sourceMap": true,
    "target": "es5"
  }
}

假设您的工作目录位于项目文件夹中,如果您已经安装了TypeScript且tsc位于PATH,则可以添加新的生成后事件命令tsc -p ./tsc-src编译TypeScript源文件。

根据您的要求,您可能希望将outDir字段更改为outFile字段以发出单个JavaScript文件。这是文档的pointer