2014-09-10 57 views
1

仔細檢查後,生成的文件與JaySvcUtil構建的.js文件一起生成 - 在我的情況下稱爲BO_Data.d.ts無法解析爲$ data.IPromise。這是在我在數據庫中添加一個新表之後發生的,在Visual Studio中重新生成了我的.edmx模型,然後使用JaySvcUtil.exe重新生成實體模型。從JaySvcUtil生成的模型初始化的上下文錯誤

declare module WcfService1 { 
export class BOLOEntities extends $data.EntityContext { 
onReady(): $data.IPromise; 
onReady(handler: (context: BOLOEntities) => void): $data.IPromise; 

在控制檯中我看到這樣的錯誤:typeOrName需要比我的代碼中定義或在該行空 以外的值:提前

window['bolo'] = new WcfService1.BOLOEntities(oProviderConfig); 

謝謝!

P.S.我這樣做,但它並沒有幫助:TypeScript compile errors with JayData library and JaySvcUtil generated code

回答

0

這樣看來我只有在做的TypeScript compile errors with JayData library and JaySvcUtil generated code

您必須說明的兩兩件事之一:

1)更改jaydata.d.ts

declare module $data { 
    interface IPromise<T> extends Object { 
     then: { 
      (handler: (args: T) => void): IPromise<any>; 
      (handler: (args: T) => any): IPromise<any>; 
     }; 
     fail: { 
      (handler: (args: T) => void): IPromise<any>; 
      (handler: (args: T) => any): IPromise<any>; 
     }; 
     valueOf(): any; 
    } 

to etc etc等valueOf():Object;

和2)在您生成的打字稿文件* .d.ts中。更改此:

onReady(): $data.IPromise; 
    onReady(handler: (context: BOLOEntities) => void): $data.IPromise; 

這樣:

onReady(): $data.IPromise<any>; 
    onReady(handler: (context: BOLOEntities) => void): $data.IPromise<any>; 

其中方面:是你自己的上下文。

相關問題