Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET用户控件<;%@注册&燃气轮机;指令混淆_Asp.net_Visual Studio 2008_User Controls - Fatal编程技术网

ASP.NET用户控件<;%@注册&燃气轮机;指令混淆

ASP.NET用户控件<;%@注册&燃气轮机;指令混淆,asp.net,visual-studio-2008,user-controls,Asp.net,Visual Studio 2008,User Controls,阅读答案后,我了解到,如果我注册一个用户控件(我想我真的试图将其用作自定义服务器控件),如下所示: <%@ Register Assembly="MyDLL" Namespace="MyDLL" TagPrefix="myDLL" %> 然后只使用codebehind,忽略标记(.ascx)页面。为什么会出现这种情况(这似乎是任意的),我如何避免这个问题而不必在我的寄存器指令中指定Src=“…”属性?我所要做的就是将一个用户控件构建到单个程序集(DLL)中,并将该DLL移交给另

阅读答案后,我了解到,如果我注册一个用户控件(我想我真的试图将其用作自定义服务器控件),如下所示:

<%@ Register Assembly="MyDLL" Namespace="MyDLL" TagPrefix="myDLL" %>

然后只使用codebehind,忽略标记(.ascx)页面。为什么会出现这种情况(这似乎是任意的),我如何避免这个问题而不必在我的寄存器指令中指定
Src=“…”
属性?我所要做的就是将一个用户控件构建到单个程序集(DLL)中,并将该DLL移交给另一个网站或web应用程序项目,以便该网站/应用程序可以使用我的用户控件。这应该没那么难,但显然是

我在VisualStudio2008工作,如果它能带来不同的话

编辑(由Rex's M评论中的链接提示):似乎大多数此类操作的说明都适用于VS2005,甚至MSDN上的内容。我的问题说得相当准确;该线程上提供的答案正确吗


对于ASP.NET 3.5和VS2008,是否有任何可靠的、最新的文档描述这种情况?我觉得使用最新版本会带来更多的混乱和困难,而不是好处。

听起来您想要自定义控件的功能。在正常的用户控件情况下,网站需要一个.ascx,不能放在DLL中。

我强烈建议查看自定义服务器控件。因为为了在多个项目上共享控件,我认为它们比用户控件更适合。用户控件更适合在同一web应用程序内(即在多个页面上)进行内部重用。

您链接到的线程确实正确。最初涉及.NET 2.0和VS 2005的信息仍然非常适用。NET3.5实际上并没有改变.NET2.0,只是增加了额外的内容。对于已经在.NET2.0中的内容,它们在3.5中保持不变

当然,将ASCX编译为程序集是可能的。请参阅odetocode.com/Articles/417.aspx,为什么我必须使用网站项目而不是web应用程序?当您构建Web应用程序时,它实际上会生成一个程序集,而(看起来)我必须单独“发布”一个Web站点才能生成DLL。除此之外,我真的不明白两者之间的区别(我已经阅读了所有我能找到的关于两者区别的内容)。首先,一个重要的注意事项:在ASPX和ASCX中使用的ASP.NET标记实际上只是另一种.NET语言,如c#和VB.NET。它会被编译成一个类。唯一的区别是什么时候。在Web应用程序中,它会将ASPX文件的编译延迟到服务器—例如,当IIS处理这些文件时,会对其进行编译。Web站点是一种专门针对Web站点的不同类型的项目,因为它支持提前编译所有内容。一个(希望是最后一个问题):我遵循的VB2005教程()说,我应该删除用户控件项目中的Web.config文件。我应该吗?为什么/为什么不?@Matt你展示的ScottGu教程与我们之前的讨论无关。他的方法允许用户控件在其他项目中重用,您也可以通过将ascx文件复制到这两个项目中来控制这些项目。事实上,该教程中的假设并不适用于我正在解决的问题。不幸的是,我没能找到更合适的。无论如何,雷克斯,谢谢你+1多次。