代码之家  ›  专栏  ›  技术社区  ›  Andre Pena

包含StrongKey的标记前缀

  •  1
  • Andre Pena  · 技术社区  · 15 年前

    我正在为一个有一个网站和一个包含web控件的类库的web应用程序解除bug。我的网站在设计时使用项目引用引用程序集,而visual studio会使用类库中的控件自动填充工具箱。

    问题是:当我将它们拖到aspx设计器时,visual studio会自动创建一个标记前缀,忽略类库的强键。这对我来说是个问题,因为当我发布这个网站时,这个类库将是全局程序集缓存,如果tagprefix没有正确引用它,它将找不到。

    知道如何在创建标记前缀时强制visual studio考虑程序集的强键吗?

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Greg B    15 年前

    您添加了 TagPrefix attribute 去你的图书馆?

    来自MSDN

    [assembly:TagPrefix("CustomControls", "custom")]
    
    
    namespace CustomControls
    {
    
        // Simple custom control
        public class MyCS_Control : Control
    

    你也应该看看 toolbox data attribute

    namespace CustomControls
    {
    
      [ ToolboxData("<{0}:MyLabel Text='MyLabel' BorderColor='Yellow' BackColor='Magenta' BorderWidth = '10'  runat='server'></{0}:MyLabel>") ]    
      public class MyLabel : Label 
      {
    

    最后,在web.config中注册程序集

    <system.web>
        ...
        <pages>
           ...
           <controls>
               ...
               <add tagPrefix="yourPrefix"
                 namespace="MyAssembly.Some.Namespace"
                 assembly="MyAssembly" />
               ...
    

    重新生成项目,然后将其中一个控件拖到页面上。

    推荐文章