C# 包含StrongKey的标记前缀

C# 包含StrongKey的标记前缀,c#,.net,asp.net,visual-studio,C#,.net,Asp.net,Visual Studio,我正在对一个web应用程序进行调试,它有一个网站和一个包含web控件的类库。我的网站在设计时使用项目引用引用程序集,VisualStudio会自动使用类库中的控件填充工具箱 问题是:当我将它们拖动到ASPx设计器时,VisualStudio会自动创建标记前缀,而忽略my类库的强键。这对我来说是个问题,因为当我发布此网站时,此类库将是全局程序集缓存,如果标记前缀没有正确引用它,则无法找到它

我正在对一个web应用程序进行调试,它有一个网站和一个包含web控件的类库。我的网站在设计时使用项目引用引用程序集,VisualStudio会自动使用类库中的控件填充工具箱

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

<关于创建VisualStudio如何在创建标记前缀时考虑我的程序集的强键的任何想法?

谢谢。

您是否已将添加到类库中

来自MSDN

[assembly:TagPrefix("CustomControls", "custom")]


namespace CustomControls
{

    // Simple custom control
    public class MyCS_Control : Control
您还应该查看

命名空间自定义控件
{
[ToolboxData(“”)
公共类MyLabel:标签
{
最后,在web.config中注册程序集

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

...
...
...
...

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

如果改用程序集引用,该怎么办?程序集属性可以解决此问题,但实际上不能。工具箱数据属性与我的问题无关。另一方面,在web.config中注册程序集可以解决上述问题这是一个问题,因为我总是可以使用完全限定的程序集名称,包括强键。我可以将它与项目引用和GAC引用一起使用。
<system.web>
    ...
    <pages>
       ...
       <controls>
           ...
           <add tagPrefix="yourPrefix"
             namespace="MyAssembly.Some.Namespace"
             assembly="MyAssembly" />
           ...