Build:Class 'Subject<T>' 错误地扩展了基类 'Observable<T>'

Posted

技术标签:

【中文标题】Build:Class \'Subject<T>\' 错误地扩展了基类 \'Observable<T>\'【英文标题】:Build:Class 'Subject<T>' incorrectly extends base class 'Observable<T>'Build:Class 'Subject<T>' 错误地扩展了基类 'Observable<T>' 【发布时间】:2018-01-18 04:20:09 【问题描述】:

我遇到这样的错误

**Build:Class 'Subject<T>' incorrectly extends base class 'Observable<T>** .

我已经安装了 TypeScript 2.4.1 并从 git angular quick starter files 下载了 angular 快速入门文件并将 src 文件夹、bs-config.json、package.json、tslint.json 文件复制到项目中 (我在 ASP.NET MVC 中创建了一个空模板项目)。重建时出现此错误。怎么办?

【问题讨论】:

上个月因为rxjs引起了冲突...更新那个包 rxjs/Subject.d.ts error : Class 'Subject<T>' incorrectly extends base class 'Observable<T>'的可能重复 为什么要使用 Angular 快速启动器而不是 angular-cli 是个谜。 有人删除了答案?怎么办? @AverlaTeam 抱歉,我刚刚删除了我的 assuming answer,因为我没有时间继续参与该 atm。 @torazaburo 我提到全局tsc 可以干扰本地版本的原因就像我自己很久以前经历过的那样,但现在已经修复了。我说angular没有正确编译typescript 2.4是基于那个问题github.com/angular/angular/issues/18454 【参考方案1】:

我已从控制面板卸载 TypeScript 并使用 NuGet 安装。 现在它正在工作。

PM => Install-Package Microsoft.TypeScript.Compiler -Version 2.1.5

【讨论】:

如果你认为这是正确的答案,你作为提问者应该检查它是否正确,即使作者是你。【参考方案2】:

该问题已在 RxJS 中修复,但您应该使用 TypeScript 2.4 编译它 用记事本打开 .csproj 并查找此标记

<typescripttoolsversion>1.8</typescripttoolsversion>

将其更改为并编译。

<typescripttoolsversion>2.4</typescripttoolsversion>

【讨论】:

以上是关于Build:Class 'Subject<T>' 错误地扩展了基类 'Observable<T>'的主要内容,如果未能解决你的问题,请参考以下文章

C# Subject 观察者模式

Angular和Rxjs:写入单元测试以过滤Subject

Certificate for <xx.xxx.xxx.xxx> doesn‘t match any of the subject alternative names: [xx.xxxx.xxxx.

Certificate for <xx.xxx.xxx.xxx> doesn‘t match any of the subject alternative names: [xx.xxxx.xxxx.

Certificate for <xx.xxx.xxx.xxx> doesn‘t match any of the subject alternative names: [xx.xxxx.xxxx.(

Observable vs Subject 和 asObservable