Javascript作为.NET类库中的嵌入式资源?

时间:2012-10-24 21:41:03

标签: .net embedded-resource

我正在运行一个引用类库的MVC项目。类库包含 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");

1 个答案:

答案 0 :(得分: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。 (我假设“Project”是我示例中项目内的一个文件夹)
  • asp.net有一个以这种方式使用资源的预构建解决方案。尝试查看Page.ClientScript。 (我不确定这是否也适用于MVC,但会打赌它会)