TypeScript - Visual Studio 2015不了解其他文件中的类型

时间:2017-03-14 16:21:58

标签: visual-studio typescript

我开始在ASP.Net MVC项目中使用TypeScript。 我的文件结构如下所示:

Project
|-ts 
| |- Common
| | |-AppSettings.ts
| |-Components
| | |-DeleteModal.ts

AppSetttings.ts 包含一个带有一些表示全局应用程序常量的静态属性的类:

namespace Ls.Common {
    export class AppSettings {
        public static readonly DeleteMethod = 'DELETE';
    }
}

DeleteModal.ts 使用Ls.Common.AppSettings.DeleteMethod值作为发出ajax请求的类型。

$.ajax({
    type: Ls.Common.AppSettings.DeleteMethod,
    url: this.config.deleteUrl,
    async: true
})
.done((data) => {
    // Display result
});

Visual Studio在DeleteModal.ts中显示以下错误:

属性' AppSettings'类型' typeof Common'。

上不存在

使用gulp构建TS文件并创建预期输出。 如何让Visual Studio了解其他TS文件中的类型(在同一项目中)?

2 个答案:

答案 0 :(得分:1)

似乎Visual Studio未在分析中包含该文件。由于gulp有效,因此gulp可能正在使用正确的tsconfig.json而Visual Studio则不然。

.csproj中经常包含打字稿配置,默认情况下该配置会覆盖tsconfig.json中的内容。

请检查上面提到的不同位置是否有不同的配置。 csproj中的那个看起来像这样

<PropertyGroup>
    <TypeScriptModuleKind>amd</TypeScriptModuleKind>
    <TypeScriptNoImplicitAny>True</TypeScriptNoImplicitAny>
    ....
</PropertyGroup>

答案 1 :(得分:0)

DeleteModal.ts 中添加引用解决了问题:

/// <reference path="../common/appsettings.ts" />