引用javascript嵌入式资源但智能感知不会显示任何内容

时间:2012-08-02 09:37:16

标签: javascript visual-studio-2010 intellisense embedded-resource

我被卡住了...... 我正在尝试引用嵌入在第三方程序集中的javascript文件,但它似乎不起作用:

我做了什么:

  1. 我有一个文件夹 RefAssemblies ,其中包含嵌入式javascript文件的库DLL
  2. 我添加了一个项目引用并指向此库程序集
  3. 我在我的javascript文件中添加了一行,我想让引用工作,即

    /// <reference name="ScriptName.js" assembly="AssemblyName" />
    

    我尝试仅使用名称命名我的程序集,并使用完整的程序集名称,包括名称,版本,文化和公钥令牌。没有区别。

  4. 将我的库程序集添加到web.config内的项目system.web\assemblies(AFAIK,这是您必须添加程序集并在应用程序中使其众所周知的部分)所以我应该能够访问它而无需引用程序集只是资源名称。没有区别。
  5. 并且我在完成任何更改后按 Ctrl + Shift + J Visual studio刷新了Javascript智能感知缓存。在我更改了Web项目的web.config之后,我甚至卸载重新加载我的Web项目。只是为了让Visual Studio读取文件并重新加载所有内容。

    但仍然不走运......而且我在 General 输出窗口中没有得到任何Javascript Intellisense错误......

    我一定错过了什么......

      

    附加说明
      知道我在 Visual Studio 10.0.40219.1

    中运行 ReSharper 6.1.1000.82 可能会有所帮助

    之后我做过的其他事情

    1. 从我的机器上卸载了ReSharper
    2. 通过使用

      从命令提示符运行Visual Studio来重置它
      devenv /ResetSettings
      

      也没有运气。

    3. 您还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

我也遇到了嵌入式资源的奇怪问题。我已经设法通过使用完全限定的资源名称来使其工作。您可以通过使用ilspy打开程序集然后选择Resources文件夹找到它,然后将显示所有资源的全名。

正如我所说,我已经让它在一个解决方案中工作,但在其他人它不起作用,我不知道为什么...非工作解决方案有不同的结构,不同的组件在不同的文件夹,但我有nto能够将其隔离为原因..

-edit -

经过多次反复试验后,使嵌入式javascript引用工作的关键似乎是设置包含对bin而不是bin\debug的引用的项目的输出文件夹。< /强>

从我可以收集的内容来看,没有其他设置或程序集引用会影响嵌入式资源,只有具有引用的项目的输出文件夹。我猜测javascript语言服务无法找到具有嵌入资源的程序集,除非它们位于私有路径或gac中,但我还是确切地理解了这个binpath的确切位置。

我已尝试在项目本身和我认为实际的语言服务exe上设置它,但无济于事。

我在这里发了一个连线问题: https://connect.microsoft.com/VisualStudio/feedback/details/770185/js-references-to-embedded-files-require-the-referencing-project-to-have-outputpath-bin