1

クラス ライブラリを参照する MVC プロジェクトを実行しています。クラス ライブラリには、ビルド アクションが「Embedded resource 」に設定されているJavaScriptファイルが含まれています。

ファイルは実際にどうなりますか?ResourceManagerリソースを配置する名前空間がわからないため、を使用して取得できないようです。

私のクラスライブラリのファイル構造:

  • /計画
  • /プロジェクト/ウェブ
  • /プロジェクト/ウェブ/JS
  • /Project/Web/Js/Test.js << 埋め込みリソース

コード:

var t = this.GetType().Assembly;
var r = new System.Resources.ResourceManager("Namespace", t); //What is the namespace here?
var js = r.GetObject("Test.js");
4

1 に答える 1

1

申し訳ありませんが、現在コンパイラにアクセスできないため、以下にわずかなエラーが含まれている可能性があります。

var asm = typeof(MyClass).Assembly;
var stream = asm. GetManifestResourceStream("<rootnamespace>.Project.Web.Js.Test.js");
var reader = new StreamReader(stream);
String source = reader.ReadToEnd();

ノート:

  • typeof(x)の代わりに使用しGetType()ます。型から継承すると、後者は誤った結果をもたらします。
  • rootnamespace は、プロジェクト設定で見つけて設定できます。(私の例では、「プロジェクト」はプロジェクト内のフォルダーであると想定しました)
  • asp.net には、この方法でリソースを使用するためのビルド済みソリューションがあります。これについて調べてみてくださいPage.ClientScript。(これがMVCでも機能するかどうかはわかりませんが、機能すると確信しています)
于 2012-10-24T22:44:35.760 に答える