角度2 Mvc5示例应用程序"cannot find namesapce Models"错误。如何在 TS 中直接引用 c# 类型并且它仍然有效?


  1. 从下载angluar2mvc5示例https://visualstudiogallery.msdn.microsoft.com/4190ee5c-15d9-4afe-ac14-515bdb6493da/view/

  2. 然后创建它,恢复包,构建,完成,完美运行。

  3. 然后我查看了代码,发现错误列表中的ERROR说:"找不到namesapse模型"。

  4. 双击错误并查看中的TS代码/app/utils/HttpHelper.ts:

    return this._http.post(path, body, options)
    .map(m => {
        var jsonresult = <Models.ViewModel.JSONReturnVM<T>>m.json();
        if (jsonresult.haserror) {
            this.errormsg = jsonresult.errormessage;
        }
        return jsonresult;
    })
    .catch(this._handleError);
    

<下的红色下划线模型.ViewModel.JSONReturnVM>m.json((;

  1. 然后我试图找到"模型"到底在哪里,然后我发现它来自一个名为Model的c#命名空间

/型号/ViewModel/JSONReturnVM.cs

  1. 停止。他只是在.TS文件中引用了一个C#类型,还是我完全弄错了,或者我完全过时了,完全错过了一些精彩的东西?这个程序运行得很完美,这怎么可能呢?如果这是一种新技术,可以直接将c#类型引用到.ts文件中,我能知道这是什么吗?以及如何使用它?还是他没有这么做,而是中间的其他人做了,但我错过了

请帮忙。

作者使用了TypeLite。Scripts下有一个TypeLite.Net4.tt文件。其生成要使用的.TS文件的模型。令我惊讶的是intellisense找不到名称空间。不管怎样,我一直在想,你什么时候可以在.ts中引用一个c#,但它是一个Nuget插件,可以自动生成从c#文件到.d.ts文件的模型。

最新更新