TeamCity:错误TS1148构建打字稿模块

时间:2015-10-05 19:34:28

标签: msbuild typescript teamcity

我正在尝试将typescript模块添加到构建中。该解决方案可以从IDE,命令行上的MSBuild甚至Visual Studio Online上构建。但是,当我在TeamCity中构建时,我收到以下错误:

 C:\TeamCity\buildAgent\work\cbd612042b438c8c\web\LobApp\CatBallBusinessWeb\Scripts\PurchaseOrderModule.ts(2, 15): error TS1148: Build: Cannot compile modules unless the '--module' flag is provided.

显然,TeamCity构建没有找到正确的typescript.targets文件。 “C:\ Program Files(x86)\ msbuild \ Microsoft \ VisualStudio \ v14.0 \ TypeScrip \ Microsoft.TypeScript.targetst”下面的行是应该应用--module编译器标志的位置。

 <TypeScriptBuildConfigurations Condition="'$(TypeScriptModuleKind)' != '' and '$(TypeScriptModuleKind)' != 'none'">$(TypeScriptBuildConfigurations) --module $(TypeScriptModuleKind)</TypeScriptBuildConfigurations>

在相关的项目安排中,在“TypeScript Build”下,我选择了“AMD”模块系统..这应该触发上面的一行。

TeamCity构建日志与我在命令行中使用MSBuild编译时看到的构建日志不同:

TeamCity的:

  

[18:15:07]:[web \ LobApp \ CatBallBusinessWeb \ CatBallBusinessWeb.csproj]   PreComputeCompileTypeScript [18:15:07]:[PreComputeCompileTypeScript]   使用程序集“C:\ Program Files”中的“VsTsc”任务   (86)\的MSBuild \微软\ VisualStudio的\ v14.0 \打字稿\ TypeScript.tasks.dll”。   [18:15:07]:[PreComputeCompileTypeScript] VsTsc [18:15:07]:[VsTsc]   任务参数:ToolPath = C:\ Program Files(x86)\ Microsoft   SDKs \ TypeScript [18:15:07]:[VsTsc]任务参数:ToolExe = tsc.exe   [18:15:07]:[VsTsc]任务参数:Configurations = --sourcemap   --target ES5 --noEmitOnError COMPUTE_PATHS_ONLY [18:15:07]:[VsTsc]任务参数:       FullPathsToFiles =           区\管理\脚本\ PurchaseOrderModule.ts           脚本\软件\采购\ PurchaseOrderEdit.ts           脚本\ PurchaseOrderModule.ts           脚本\ PurchaseOrderIndex.ts           脚本\分型\ jQuery的\ jquery.d.ts           脚本\分型\ knockout.mapping \ knockout.mapping.d.ts           脚本\分型\ knockout.validation \ knockout.validation.d.ts           脚本\分型\淘汰赛\ knockout.d.ts           脚本\分型\时刻\时刻,node.d.ts           脚本\分型\时刻\ moment.d.ts

Vs以上。 MSBuild命令行:

  

在文件“C:\ Program Files”中定位“PreComputeCompileTypeScript”   (86)\的MSBuild \微软\ VisualStudio的\ v14.0 \打字稿\ Microsoft.TypeScript.targets”   来自项目   “d:\ dev的\网络\ lobapp \ CatBallBusinessWeb \ CatBallBusinessWeb.csproj”   (目标“CompileTypeScript”取决于它):使用“VsTsc”任务   程序集“C:\ Program Files   (86)\的MSBuild \微软\ VisualStudio的\ v14.0 \打字稿\ TypeScript.tasks.dll”。   任务“VsTsc”任务参数:ToolPath = C:\ Program Files   (x86)\ Microsoft SDKs \ TypeScript任务参数:ToolExe = tsc.exe
  任务参数:配置= - 模块AMD --sourcemap --target ES5   --noEmitOnError COMPUTE_PATHS_ONLY任务参数:         FullPathsToFiles =             区\管理\脚本\ PurchaseOrderModule.ts             脚本\软件\采购\ PurchaseOrderEdit.ts             脚本\ PurchaseOrderModule.ts             脚本\ PurchaseOrderIndex.ts             脚本\分型\ jQuery的\ jquery.d.ts             脚本\分型\ knockout.mapping \ knockout.mapping.d.ts             脚本\分型\ knockout.validation \ knockout.validation.d.ts             脚本\分型\淘汰赛\ knockout.d.ts             脚本\分型\时刻\时刻,node.d.ts             脚本\分型\时刻\ moment.d.ts

TeamCity日志中缺少突出显示的部分。

在TeamCity中,我正在直接构建解决方案..同样在其他地方构建的解决方案。我选择了Visual Studio 2015工具。我还要提一下,这个解决方案是从TeamCity工作目录的命令行构建的。

我不是构建,团队城市或打字稿专家。所以我不确定如何进一步调查。我怎样才能弄清楚为什么没有运行正确的目标文件?鉴于这在其他任何地方都很好,我觉得这是一个TeamCity错误。另一方面,我无法想象TeamCity如何运行MSBuild错误。

任何帮助表示感谢。

0 个答案:

没有答案