3

立ち往生しています...サードパーティのアセンブリ内に埋め込まれたjavascriptファイルを参照しようとしていますが、機能していないようです:

私がやったこと:

  1. JavaScriptファイルが埋め込まれたこのライブラリDLLが配置されているフォルダRefAssembliesがあります
  2. プロジェクト参照を追加し、このライブラリ アセンブリを指定しました
  3. 参照を機能させたい場所に、JavaScriptファイルに行を追加しました。

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

    名前のみでアセンブリに名前を付けようとしましたが、名前、バージョン、カルチャ、公開キー トークンを含む完全なアセンブリ名も使用しました。変わりはない。

  4. ライブラリ アセンブリをプロジェクトのweb.config内部system.web\assembliesに追加したので (これは、アセンブリを追加してアプリケーションでよく知られるようにする必要がある部分です)、リソース名だけでアセンブリをまったく参照せずにアクセスできるはずです。変わりはない。

はい、変更を行った後にCtrl+ Shift+を押してJいたので、Visual Studio は Javascript インテリセンス キャッシュを更新しました。Web プロジェクトの を変更した後、Web プロジェクトをアンロードして再ロードweb.configしました。Visual Studio がファイルを読み取り、すべてを新たにリロードするようにします。

しかし、まだ不運です...そして、一般的な出力ウィンドウにも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 フォルダーを選択すると、すべてのリソースの完全な名前が表示されます。

私が言ったように、これは1つのソリューションで機能するようになりましたが、他のソリューションでは機能せず、理由がわかりません..機能しないソリューションには、異なるアセンブリが異なるフォルダーにある異なる構造がありますが、できませんでしたそれを原因として切り分ける..

-編集-

多くの試行錯誤の後、埋め込まれた JavaScript 参照を機能させるための重要なことは、参照を含むプロジェクトの出力フォルダーを ではなく に設定するbinことbin\debugです。

私が収集できるものから、埋め込みリソースに影響を与える他の設定やアセンブリ参照はなく、参照を持つプロジェクトの出力フォルダーのみです。プライベートパスまたはgacにない限り、JavaScript言語サービスはリソースが埋め込まれたアセンブリを見つけることができないと推測していますが、この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 に答える