Visual studio 2013 TypeScript 1.3保护错误

Visual studio 2013 TypeScript 1.3保护错误,visual-studio-2013,typescript,Visual Studio 2013,Typescript,最近在VS2013中安装了新的TS版本,并尝试使用protected修饰符。 但是,TS validator向我显示一个错误(并在protectedword下面加一条红线)。 我得到一个错误,比如 使用future reserver word。 ;期望 看起来它正在研究旧的TS定义。 检查了项目文件,发现TypeScript有1.1版本。 同时运行tsc-v生成1.3.0 你们当中有人经历过吗? 我错过了什么,该怎么做才能弥补 非常感谢你的帮助 export class SomeClass {

最近在VS2013中安装了新的TS版本,并尝试使用
protected
修饰符。 但是,TS validator向我显示一个错误(并在
protected
word下面加一条红线)。 我得到一个错误,比如

使用future reserver word。 ;期望

看起来它正在研究旧的TS定义。 检查了项目文件,发现TypeScript有1.1版本。 同时运行
tsc-v
生成
1.3.0

你们当中有人经历过吗? 我错过了什么,该怎么做才能弥补

非常感谢你的帮助

export class SomeClass {
    protected metadata: Metadata;
    protected subItems: SomeClass[];
    constructor() {
    }
}

它对我也不起作用。我修复它的方法是安装VS2013更新4,之后,我再次执行TypeScript 1.3安装程序并进行修复


此外,您应该确保您的csproject中没有定义
1.0
。将其设置为
1.1
(不是1.3)或将其完全删除(然后它将使用最新版本)。希望有帮助!

您可以通过以下步骤确定此问题是否与Visual Studio指向错误的TypeScript版本有关

将此示例代码放入
C:\Temp\app.ts

interface Metadata {
    something: string;
}

export class SomeClass {
    protected metadata: Metadata;
    protected subItems: SomeClass[];
    constructor() {
    }
}

export class OtherClass extends SomeClass {
    constructor() {
        super();
        this.metadata = null;
    }
}

var x = new SomeClass();

// Not allowed
// x.metadata = null;
运行以下命令:

C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.1>tsc --module amd c:\Temp\app.ts
注意确保指向TypeScript SDK文件夹中的
1.1
文件夹

输出应为:

C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.1>
i、 e.没有,除了你现在有一个app.js文件

您还可以在取消注释
x.metadata=null;
行后重新运行测试-此时您应该得到错误:

c:/Temp/app.ts(22,1):错误TS2445:属性“元数据”受保护,只能在类“SomeClass”及其子类中访问

下一步

如果上述操作失败,请提供问题的详细信息

我们能给出的唯一真正的答案是,在重新安装之前,从Microsoft网站获取新的安装程序(可能是您的安装程序不好,或者安装过程中出现了一些问题?)您可能还想检查您是否在VisualStudioUpdate 4上,因为我正在Update 4上测试它

如果上述操作按预期进行,则Visual Studio没有指向正确的版本

这可能是因为Dick van den Brink正确地提到了项目文件。请检查您是否有
1.1
,并且它是唯一具有此名称的元素


也可能是由于任何Visual Studio扩展可能会干扰您的类型脚本(例如,如果您有一个非常旧的Web Essentials版本,请更新它,如果它是其他扩展,请尝试禁用它).

您是从Visual Studio内部还是从命令行生成的?安装了不同版本的SDK,以及可能的全局NPM包(如果您曾经安装过该软件包的话)例如,如果我在命令提示符下运行“where tsc”,我会得到以下结果(虽然我在bin文件夹中测试最新的位,但路径上没有1.1 SDK)

您是否可以通过“where tsc”验证您的路径正在解析“tsc”命令的位置和顺序

也就是说,如果您是从VS项目中构建的,它应该通过构建目标找到最新的SDK。新的TypeScript项目(应该在其中引用最新版本和目标文件)是否也会发生这种情况


失败了,我讨厌说…准备好了…你试过重新启动吗?:-)有时会更新路径等等。。安装完成后,在进程重新启动之前不要启动,而像MSBuild这样的东西实际上可以作为性能优化等待下一次构建,而不是在构建完成后退出(因此可能不会立即启动环境更改)。

谢谢大家。谢谢你的回答! 原因是(哦,什么是羞耻=))再竖琴。 它的验证显示了那个错误,暂停它,我现在没有收到任何错误。 看来JetBrains的人应该像WebEssentials一样更新他们的定义。 因为它们与新的TS版本1.3不兼容。到目前为止,没有等待更新


希望它对其他人有用。

那么你的问题的答案是。 它支持TypeScript 1.3功能:“受保护”修饰符和元组。
欢迎你试试。不过,是的,这是一个预发布版本,因此整体稳定性没有严格保证。

你能发布一个代码示例吗?因为图像有点过度剪裁,我可以诚实地重新创建你可能拥有的内容吗?@Steve Fenton在上面添加了一个代码。问题是解析器无法识别“受保护”标识符,而且TS 1.3中的所有新功能都可以识别这些代码片段——我现在可以看到您添加的
protected
上下文。(也就是说,如果您的类中没有该类,而您的图像没有显示该类,则我预计会出现错误)。为了帮助其他人找到这一点,错误消息是
使用将来的保留字
。你的帖子中有一个轻微的打字错误,我无法从搜索引擎中获得任何点击率。:)迪克·范登·布林克,谢谢你的回答。但是重新安装对我没有帮助,版本是正确的尽管你说版本是正确的,我们是在谈论tsc.exe和VS2013更新4吗?另外,我注意到我在标记符号时出错,导致TypeScriptToolsVersionVerison内容不可见。你检查过了吗?我的也是一个重拾器错误。关闭Typescript的Resharper将删除波形。抱歉,我们在语言检测中遇到错误。TypeScript 1.3包的编译器/语言版本为1.3,但visual studio tools版本为1.1,这就是ReSharper对此的误解的原因:。现在,如果自动检测失败,您可以手动指定TS版本。修正将出现在即将到来的EAP 8中。
S:\src\TypeScript\bin>where tsc
S:\src\TypeScript\bin\tsc
S:\src\TypeScript\bin\tsc.js
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\tsc.exe
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\tsc.js
C:\Users\billti\AppData\Roaming\npm\tsc
C:\Users\billti\AppData\Roaming\npm\tsc.cmd