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

Cra*_*rer 5 javascript visual-studio-2010 asp.net-mvc-3 knockout.js

我正在测试MVC3项目中的knockout.js.我有以下结构:

Project Root
  Scripts
    jquery-1.4.4.js
    knockout-1.2.0.debug.js
    etc...
  Views
    Home
      Index.cshtml
    Shared
      _Layout.cshtml
  HTMLPage1.htm
Run Code Online (Sandbox Code Playgroud)

在我的_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>
Run Code Online (Sandbox Code Playgroud)

在我的Index.cshtml文件中,我正在尝试在脚本块中使用ko对象.它运行正常,但在VS设计器中,我没有得到任何关于ko对象本身的智能感知.

如果我在根项目级别打开一个普通的HTML文件并在其中放置一个脚本块,我就会在ko对象上获得intellisense.

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

我注意到在VS的调试输出中,我得到以下内容:

Javascript Intellisense消息:JSIntellisense:内部/窗口(18:4):函数预期
Javascript Intellisense消息:JSIntellisense:内部/窗口(19:8):'ko'未定义
Javascript Intellisense消息:JSIntellisense:内部/窗口(18:4) ):函数预期
Javascript Intellisense消息:JSIntellisense:内部/窗口(19:8):'ko'未定义
Javascript Intellisense消息:JSIntellisense:内部/窗口(18:4):函数预期
Javascript Intellisense消息:JSIntellisense:内部/窗口(19:8):'ko'未定义
Javascript Intellisense消息:JSIntellisense:内部/窗口(18:4):函数预期
Javascript Intellisense消息:JSIntellisense:内部/窗口(19:8):'ko'未定义
等.

Cra*_*rer 11

啊,弄清楚了.我需要让我的脚本块在实际的.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>
}
Run Code Online (Sandbox Code Playgroud)

@if(false)表示它们不会被包含在运行时(因此请使用我的主.cshtml文件中的脚本包含).