对于Angular 2应用程序,TFS Build失败(TypeScript错误),但是在本地一切正常

勺耙

我正在使用安装了Update 3的Visual Studio 2015。我有一个包含使用TypeScript编写的Angular 2应用程序的解决方案。遵循Angular自己的“ 5分钟快速入门”指南将该应用程序添加到了解决方案中:https : //angular.io/guide/quickstart

角度应用程序甚至还不完整,实际上它才刚刚开始开发。angular 2项目的所有配置文件都是直接从该指南中获取的,尚未修改。

该解决方案在我的本地计算机上构建良好。但是,当我执行启动构建的TFS签入时,解决方案无法在远程构建服务器上构建。

我在MSBuild步骤中遇到以下错误,并且它们都与TypeScript有关:

  • 错误TS2307:内部版本:找不到模块'@ angular / core'。
  • 错误TS1219:构建:装饰器的实验支持是一项功能,在将来的版本中可能会更改。指定'--experimentalDecorators'删除此警告
  • 错误TS2315:构建:类型为“ any”不是通用的。
  • 错误TS1148:构建:除非提供'--module'标志,否则无法编译模块
  • 错误TS2304:内部版本:找不到名称“它”。

这些错误中的大多数会重复多次,指向角度2应用程序的各个部分。总共有29个错误。

有趣的是,在构建日志中的所有错误中,每个错误后面都带有对.csproj文件的引用,该文件包含angular应用程序。

据我了解,应基于tsconfig.json文件中定义的配置属性而不是Visual Studio项目的属性来编译TypeScript文件。实际上,当我在本地打开解决方案并尝试从Visual Studio中的属性修改TypeScript配置时,它告诉我由于存在tsconfig.json文件,这些属性已被禁用。

同样,一切都在本地构建良好,零错误。它只能在远程构建服务器上构建失败。

那么有人在这里有什么想法吗?远程构建服务器是否不是最新的,因此无法读取我的tsconfig.json文件?

只是为了彻底,这是我的tsconfig.json文件...

{
"compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true
},
"compileOnSave": true
}

编辑

更新:好的,我想我正在解决这个问题。看来在TFS上,我的tsconfig.json绝对没有被读取。

这是我在本地运行MSBuild时的日志...

PreComputeCompileTypeScriptWithTSConfig:
  C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe --project "C:\[MY PATH GOES HERE]\tsconfig.json" 
CompileTypeScriptWithTSConfig:
  C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe --project "C:\[My PATH GOES HERE]\tsconfig.json"

但是,这就是远程TFS构建中正在发生的事情...

        PreComputeCompileTypeScript:
          C:\Program Files (x86)\Microsoft  SDKs\TypeScript\1.5\tsc.exe  --sourcemap --target ES5 --noEmitOnError COMPUTE_PATHS_ONLY 
        CompileTypeScript:
          C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.5\tsc.exe  --sourcemap --target ES5 --noEmitOnError 

所以...我的构建服务器正在使用TypeScript 1.5,而本地是1.8。当然1.8是在Visual Studio中引入了对tsconfig.json的改进支持时。希望我要做的就是让某人在TFS服务器上更新TypeScript。

帕特里克·卢

您最好确保构建服务器(构建代理)上的环境与本地环境相同。这将大大降低构建失败的风险。

根据您的情况,尝试将TypeScript 1.5更新到版本1.8,然后再次对构建进行排队。如果仍然无法使用,则可以尝试不通过tfs在构建代理程序(机器)上手动构建,以缩小与代理程序环境或TFS构建定义设置有关的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在angular2中发生了CSRF错误,但在Postman中一切正常(SOAP XML Ajax)

Dockerizing Angular 2应用程序失败

Spring 启动应用程序出现此错误:用户“root”@“localhost”的访问被拒绝,但是当我使用控制台登录时,一切正常

上传到 Play 商店时出现 Android 应用程序错误,上传前测试一切正常

Angular2应用程序无法正常工作

创建angular 2应用程序时出现Tarball错误

Angular 2应用程序的数组未定义错误

在另一个Angular 2应用程序中嵌入Angular 2应用程序

将React Native移动应用程序与angular2 Web应用程序一起使用

当一切正常时,为什么我的MVC应用程序中的ModelState.IsValid属性等于false

电子应用程序中的Angular2错误:PlatformRef没有提供程序

使用Material Design的Angular2应用程序的常规错误处理程序

Angular 2应用程序失败并出现XHR错误(找不到404)

Angular-CLI Beta 14无法构建我的Angular2应用程序,该应用程序可以与System.js一起正常工作

我无法使用npm start运行angular2应用程序,但是,如果我使用npm run lite,则该应用程序会弹出适当的错误消息

Visual Studio代码中Ionic2-Angular2应用程序的Typescript调试

Webpack 2未加载Angular2 Typescript应用程序的导入

从Postman调用Twitter API是可行的,但是从Angular 2应用程序中无法实现

如何在本地tomcat服务器上部署angular2应用程序?

如何在本地启动 Angular 2 应用程序,因为 npm start 不起作用

Angular 2 AoT编译会导致应用程序问题并在JiT中正常运行

将angular 2应用程序部署到github页面-失败

如何从Angular 2应用程序中的TypeScript / JavaScript中的字符串获取类?

如何基于TypeScript将Electron ipcRenderer集成到Angular 2应用程序中?

如何在Angular 2 TypeScript应用程序中使用moment.js库?

如何在Visual Studio Code中调试Angular2 TypeScript应用程序?

如何在Maven中使用Typescript配置Angular2应用程序?

如何将Angular2 TypeScript应用程序编译为单个文件?

Angular 2用于TypeScript应用程序测试-规范在茉莉花中多次出现