在整个Webresource.axd中使用嵌入式WebResource

jar*_*ics 3 asp.net webresource.axd

问题很简单:如何在asp.net应用程序中使用嵌入式资源?在程序集中包含资源以及如何引用它的步骤是什么?有什么问题可以遇到?

jar*_*ics 5

花了半天时间我就学会了这些:

  1. 嵌入一​​个资源,需要设置它的构建操作到嵌入式资源(在VS解决方案资源管理器中右键单击文件 - >属性)

  2. 必须修改下一个AsssemblyInfo.vb,以使此资源可用于WebResource查询.添加[Assembly: System.Web.UI.WebResource("MyWebResourceProj.Test.css", "text/css")]到位于项目的MyProject文件夹中的AssemblyInfo.vb.

    • 该名称由根命名空间/程序集名称+'.'+ filename组成.要100%确定名称,请使用以下代码段进行查找:
      Dim resNames = Assembly.LoadFile("YourDll.dll").GetManifestResourceNames()
    • 请注意,程序集的根命名空间必须与程序集名称相同(这需要我花费大约4个小时来实现.至少在.Net v4的情况下是这样)
    • 如果css内部有引用(<%= WebResource("NS.image.jpg")%>),则为该css的WebResource属性传递PerformSubstitution:= true.
  3. 可以使用引用资源 Page.ClientScript.GetWebResourceUrl(GetType(MyWebResourceProj.ConssumingPage), "MyWebResourceProj.Test.css")

    • 请注意,可以使用Me.GetType()代替GetType(Typename),但是如果继承了该类,那么这将无效,所以要小心!

资源: