我被卡住了...... 我正在尝试引用嵌入在第三方程序集中的javascript文件,但它似乎不起作用:
我做了什么:
我在我的javascript文件中添加了一行,我想让引用工作,即
/// <reference name="ScriptName.js" assembly="AssemblyName" />
我尝试仅使用名称命名我的程序集,并使用完整的程序集名称,包括名称,版本,文化和公钥令牌。没有区别。
web.config
内的项目system.web\assemblies
(AFAIK,这是您必须添加程序集并在应用程序中使其众所周知的部分)所以我应该能够访问它而无需引用程序集只是资源名称。没有区别。并且是我在完成任何更改后按 Ctrl + Shift + J Visual studio刷新了Javascript智能感知缓存。在我更改了Web项目的web.config
之后,我甚至卸载并重新加载我的Web项目。只是为了让Visual Studio读取文件并重新加载所有内容。
但仍然不走运......而且我在 General 输出窗口中没有得到任何Javascript Intellisense错误......
我一定错过了什么......
附加说明:
中运行 ReSharper 6.1.1000.82 可能会有所帮助
知道我在 Visual Studio 10.0.40219.1
通过使用
从命令提示符运行Visual Studio来重置它devenv /ResetSettings
也没有运气。
您还有其他建议吗?
答案 0 :(得分:0)
我也遇到了嵌入式资源的奇怪问题。我已经设法通过使用完全限定的资源名称来使其工作。您可以通过使用ilspy打开程序集然后选择Resources文件夹找到它,然后将显示所有资源的全名。
正如我所说,我已经让它在一个解决方案中工作,但在其他人它不起作用,我不知道为什么...非工作解决方案有不同的结构,不同的组件在不同的文件夹,但我有nto能够将其隔离为原因..
-edit -
经过多次反复试验后,使嵌入式javascript引用工作的关键似乎是设置包含对bin
而不是bin\debug
的引用的项目的输出文件夹。< /强>
从我可以收集的内容来看,没有其他设置或程序集引用会影响嵌入式资源,只有具有引用的项目的输出文件夹。我猜测javascript语言服务无法找到具有嵌入资源的程序集,除非它们位于私有路径或gac中,但我还是确切地理解了这个binpath的确切位置。
我已尝试在项目本身和我认为实际的语言服务exe上设置它,但无济于事。