2011-12-31 16 views
1

私はlibrary/Resources/ScriptsフォルダにあるJavaスクリプトファイル "libscript.js"を含むクラスライブラリプロジェクトを持っています。WebResourceがホスト上で動作していません

プロパティウィンドウから埋め込みリソースとして「libscript.js」ファイルをマークしました。

私もassemblyInfo.csに次のコード行を追加:

[assembly: WebResource("Library.Resources.Scripts.libscript.js", "text/javascript")] 

は最後に、私は私のウェブサイトのプロジェクトでライブラリを参照。

ローカルマシンでプロジェクトを実行すると、正常に動作し、javascriptファイルが正しくロードされました。また、IISでアプリケーションを作成してもうまく動作します。

しかし、プロジェクトをホストにアップロードすると、スクリプトファイルはロードされず、見つからないことがあります。あなたがやっていること

答えて

1

は、ステップ1(資源としてのJSを埋め込む)および2(assembly.csにリソースを追加する)3のうち

ある第3のステップは、JSを抽出し、それを送信することですブラウザ:

protected override void OnInit(EventArgs e) 
    { 
    base.OnInit(e); 

    this.Page.ClientScript.RegisterClientScriptInclude(
     this.GetType(), "libscript", 
     Page.ClientScript.GetWebResourceUrl(this.GetType(), 
     "Library.Resources.Scripts.libscript.js")); 
    } 

あなたはまた、JSへの正しいパスが生成されるようにPerformSubstitutionパラメータを含めるようにassembly.csでのリソース定義を変更する必要があります:あなたのAの

[assembly: WebResource("Library.Resources.Scripts.libscript.js", "text/javascript", PerformSubstitution = true)] 
+0

感謝nswer。私はまた私のコードでステップ3を追加しましたが、私はそれを私の質問に追加することを忘れます。しかし、PerformSubstitutionを追加することによって問題は解決されました。 – developer

関連する問題