3

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

我做了什么:

  1. 我有一个文件夹RefAssemblies,这个带有嵌入式 javascript 文件的库 DLL 所在的位置
  2. 我添加了一个项目引用并指向这个库程序集
  3. 我在我的 javascript 文件中添加了一行我希望引用工作的地方,即。

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

    我尝试只用名称命名我的程序集,还使用完整的程序集名称,包括名称、版本、文化和公钥令牌。没有不同。

  4. 将我的库程序集添加到我的项目web.config内部system.web\assemblies(AFAIK 是您必须添加程序集并使其在您的应用程序中广为人知的部分),因此我应该能够在不引用程序集的情况下访问它,而只需资源名称。没有不同。

的,我在完成任何更改后按下了Ctrl++ ,因此 Visual Studio 刷新了 Javascript 智能感知缓存。我什在更改web项目的. 只是为了让 Visual Studio 读取文件并重新加载所有内容。ShiftJweb.config

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

我肯定错过了什么...

附加说明
知道我在Visual Studio 10.0.40219.1中运行ReSharper 6.1.1000.82 可能会有所帮助

之后我做的其他事情

  1. 从我的机器上卸载 ReSharper
  2. 通过使用从命令提示符运行它来重置 Visual Studio

    devenv /ResetSettings
    

    也没有运气。

你有什么我可以做的其他建议吗?

4

1 回答 1

0

我对嵌入式资源也有奇怪的问题。通过使用完全限定的资源名称,我设法让它工作。你可以用 ilspy 打开程序集,然后选择 Resources 文件夹,然后会显示所有资源的全名。

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

-编辑-

经过多次试验和错误,使嵌入式 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

于 2012-11-05T21:08:00.207 回答