为什么intellisense不能在我的ko对象上工作?

问题描述:

我尝试了一个测试MVC3项目中的knockout.js。我有以下结构:为什么intellisense不能在我的ko对象上工作?

Project Root 
    Scripts 
    jquery-1.4.4.js 
    knockout-1.2.0.debug.js 
    etc... 
    Views 
    Home 
     Index.cshtml 
    Shared 
     _Layout.cshtml 
    HTMLPage1.htm 

在我_Layout.cshtml文件,我有以下脚本块:

<script src="/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script> 
<script src="/Scripts/jquery.tmpl.js" type="text/javascript"></script> 
<script src="/Scripts/knockout-1.2.0.debug.js" type="text/javascript"></script> 

在我Index.cshtml文件,我想用KO对象在我的脚本块。它运行良好,但在VS设计师中,我没有对ko对象本身有任何智能感知。

如果我在根项目级别打开纯HTML文件并在其中放置脚本块,我会在ko对象上获得智能感知。

我有什么问题?为什么不能intellisense在我的.cshtml文件中看到ko对象?

我在VS调试输出请注意,我得到如下:

的Javascript智能感知消息:JSIntellisense:内部/窗口(18:4):功能预计
的Javascript智能感知消息:JSIntellisense:内部/ window(19:8):'ko'未定义
Javascript Intellisense消息:JSIntellisense:内部/窗口(18:4):预计功能
Javascript Intellisense消息:JSIntellisense:Internal/window(19:8) ko'未定义
Javascript Intellisense Message:JSIntel内部/窗口(18:4):预计功能
Javascript Intellisense消息:JSIntellisense:内部/窗口(19:8):'ko'未定义
Javascript Intellisense消息:JSIntellisense:Internal/window(18:4 ):功能预期
JavaScript智能消息:JSIntellisense:内部/窗口(19:8): 'こ' 是未定义

,理解了它。我需要让我的脚本块在实际的.cshtml文件中引用我的.js文件。

如:

@if (false) 
{ 
    <script src="/Scripts/knockout-1.2.0.debug.js" type="text/javascript"></script> 
    <script src="/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script> 
    <script src="/Scripts/jquery-ui.js" type="text/javascript"></script> 
    <script src="/Scripts/jquery.tmpl.js" type="text/javascript"></script> 
    <script src="/Scripts/knockout-1.2.0.debug.js" type="text/javascript"></script> 
} 

的@if(false)代表他们没有得到包括在运行时(因此使用这些脚本包括从我的主人.cshtml文件)。