1

我有一个用户控件(ascx)并想使用我通过“导入”获得的命名空间:

<%@ Import Namespace="my.assembly.blabla.bla.test" %>

命名空间确实存在 - 它在代码中使用,并且在项目中引用了 dll。在运行时我得到错误

命名空间 'blabla' 中不存在类型或 nemspace 'bla'(您是否缺少程序集引用?)

奇怪的是,当我添加一个寄存器指令(我不使用它)时,它就起作用了。register 指令如下所示:

<%@ Register TagPrefix="xxx" Assembly="my.assembly.blabla,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=373h77ghg78hh478"
Namespace="my.assembly.blabla.bla" %>

我不想到处放一个未使用的寄存器指令,所以有人知道我做错了什么吗?

4

1 回答 1

0

添加到 configuration/system.web/compilation/assemblies 下的 web.config:

<add assembly="my.assembly.blabla,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=373h77ghg78hh478"/>

像这样:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    <system.web>
        <compilation debug="true" defaultLanguage="c#" batch="false" numRecompilesBeforeAppRestart="50" targetFramework="4.0">
            <assemblies>
                <add assembly="my.assembly.blabla,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=373h77ghg78hh478"/>
            </assemblies>
...
于 2013-06-04T07:32:22.253 回答