今天我更新到TypeScript 1.6,并且现在CopyPipelineFiles
任务在尝试部署Web应用程序时失败。在TypeScript 1.6升级后无法从VS2013(或TeamCity)部署
我在Web项目的设置中(通过csproj文件中的TypeScriptOutDir
条目)将TypeScript的编译的JavaScript输出目录重定向到scripts\compiled\
,并且直到现在这一直运行良好。正在正确编译Typescript文件并正确编译目录(即web项目目录下的scripts\compiled\
)。
但是,CopyPipelineFiles
任务似乎对TypeScript文件的根目录感到困惑,现在始终认为它是Web项目的根目录。因此,它将文件夹添加到不存在的路径中,例如编译scripts\foo.ts
而不是抓取scripts\compiled\foo.js
MSBuild正在查找\scripts\compiled\scripts\foo.js
。我已经尝试在输出目录中使用$(ProjectDir)
,并且我还尝试将TypeScriptRootDir
设置为适当的根目录(例如scripts\
),但问题仍然存在。
我能够解决这种情况的唯一方法是删除输出目录,并允许编译的JavaScript文件输出到TypeScript对应位置的相同位置。
以下是我收到了真正的错误,在这里将输出文件的路径将是scripts\account\app.ts
的例子:
复制文件脚本编译\ \脚本\帐户\ app.js到OBJ \ Release \ AspnetCompileMerge \ Source \ scripts \ compiled \ scripts \ account \ app.js失败。找不到路径的一部分“脚本\编译\脚本\帐户\ app.js”
这可能发生在打字稿1.6所有本地的机器上安装,以及安装了1.6我们的TeamCity构建服务器。