2016-12-16 6 views
0

Ich benutze Visual Studio Angular2 mvc5 Vorlage und ich änderte das Modell davon. Und ich habe die TypeScript-Version des Modells mit TypeLite erstellt. Jetzt muss ich auf das Typoskript verweisen, das Typoskript erkennt sie aber auch nach dem Rebuild-Projekt nicht. Es verweist auf andere Datei, wenn ich F12 auf Modellmitglied drückte.Asp.net Typings funktioniert nicht

Ordnerstruktur:

ProjectRoot/ 
app 
    some.component.ts 
    ... 
Scripts 
    ... 
    TypeLite.Net4.tt 
    TypeLite.Net4.d.ts 
typings (not included in project) 
    main (same) 
    ambient (same) 
    TypeLite (same) 
    index.d.ts (same) 
typings.json 
tsconfig.json 
... 

TypeLite.Net4.d.ts (steht für aktualisierte Modell):

/// <reference path="Enums.ts" /> 

declare module Models { 
    interface BpmGraph { 
     Author: string; 
     BpmPoints: Models.BpmPoint[]; 
     Id: number; 
     SongName: string; 
     Tags: string[]; 
     TimedBy: string; 
    } 
    interface BpmPoint { 
     BpmMap: System.Collections.Generic.KeyValuePair<number, number>[]; 
     BpmMap2: System.Tuple<number, number>[]; 
     Bpms: number[]; 
     GraphId: number; 
     Id: number; 
     Times: number[]; 
    } 
    interface List { 
     Count: number; 
     CountEnded: number; 
     Id: number; 
     Name: string; 
     Tasks: Models.Task[]; 
    } 
    interface Task { 
     Ended: boolean; 
     Id: number; 
     ListId: number; 
     Name: string; 
    } 
} 
declare module Models.ViewModel { 
    interface JSONReturnVM<T> { 
     element: T; 
     errormessage: string; 
     haserror: boolean; 
    } 
} 
declare module System { 
    interface Tuple<T1, T2> { 
     Item1: T1; 
     Item2: T2; 
    } 
} 
declare module System.Collections.Generic { 
    interface KeyValuePair<TKey, TValue> { 
     Key: TKey; 
     Value: TValue; 
    } 
} 

some.component.ts:

... 
export class BpmHelperComponent { 
    constructor(private _appService: AppServiceTodoList) 
    { 

    } 


    get bpmGraph(): Models.List[] 
    { 
     return this._appService.todolist; 
    } 
... 

Index.d .ts (welches Modellelement referenziert, nicht aktualisiert):

// Generated by typings 
// Source: scripts/TypeLite.Net4.d.ts 
declare module Models { 
    interface List { 
     Count: number; 
     CountEnded: number; 
     Id: number; 
     Name: string; 
     Tasks: Models.Task[]; 
    } 
    interface Task { 
     Ended: boolean; 
     Id: number; 
     ListId: number; 
     Name: string; 
    } 
} 
declare module Models.ViewModel { 
    interface JSONReturnVM<T> { 
     element: T; 
     errormessage: string; 
     haserror: boolean; 
    } 
} 

typings.json:

{ 
    "ambientDependencies": { 
    "bootstrap": "github:DefinitelyTyped/DefinitelyTyped/bootstrap/bootstrap.d.ts#56295f5058cac7ae458540423c50ac2dcf9fc711", 
    "core-js": "registry:dt/core-js#0.0.0+20160317120654", 
    "jquery": "github:DefinitelyTyped/DefinitelyTyped/jquery/jquery.d.ts#56295f5058cac7ae458540423c50ac2dcf9fc711", 
    "TypeLite": "file:Scripts/TypeLite.Net4.d.ts" 
    } 
} 

Als ich some.component.ts des Models.List zu Models.BpmGraph geändert, Erstellungsfehler zu sagen "Build: Modul 'Models' hat keine exportierte Mitglied‚BpmGraph"

Was ist der richtige Weg, um index.d.ts zu aktualisieren? Es heißt 'Generated by typings', aber ich finde keine Möglichkeit, diese Datei zu aktualisieren.

Ich versuchte Typisierungen installieren, aber nichts geändert, außer unter Nachricht

PM> typings install --global 
[?25h 
+-- debug 
| `-- ms 
`-- mocha (global) 
+0

Run 'types install'. –

+0

@AlekseyL. Ich habe versucht, aber nichts geändert, außer unter der Nachricht in der Paket-Manager-Konsole. PM> types installieren [? 25h + - debug | '- ms ' - mocha (global) –

Antwort

0

erneut versucht Typisierungen nach der Aktualisierung Typisierungen (0.8.3 bis 2.0.0) installieren und es gelang ihm. typings install hat den neuen Ordner 'global' und some.component.ts korrekt referenziert. Ich denke, dieses Problem ist aufgetreten, weil Typings Ambient in global umbenannt wurde.