Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/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
C# 使用.ascx文件创建自定义控件_C#_Asp.net_Controls - Fatal编程技术网

C# 使用.ascx文件创建自定义控件

C# 使用.ascx文件创建自定义控件,c#,asp.net,controls,C#,Asp.net,Controls,我希望创建一些自定义控件,这些控件需要编译为独立的dll,而不是与主应用程序一起编译。不幸的是,到目前为止,这意味着在不使用设计器的情况下手动创建控件,因为您无法将用户控件编译为独立组件。由于这样做会使设计人员很难在不花费开发人员大量精力的情况下设计控件,我想知道是否有一种可行的方法将.ascx样式的控件编译成独立的二进制文件 您可以将用户控件转换为独立.dll中的自定义控件,但它失去了通过标记进行更新的能力 换句话说,您可以使用标记和代码构建.ascx文件,然后将其转换为类似于专门使用代码构建

我希望创建一些自定义控件,这些控件需要编译为独立的dll,而不是与主应用程序一起编译。不幸的是,到目前为止,这意味着在不使用设计器的情况下手动创建控件,因为您无法将用户控件编译为独立组件。由于这样做会使设计人员很难在不花费开发人员大量精力的情况下设计控件,我想知道是否有一种可行的方法将.ascx样式的控件编译成独立的二进制文件

您可以将用户控件转换为独立.dll中的自定义控件,但它失去了通过标记进行更新的能力

换句话说,您可以使用标记和代码构建.ascx文件,然后将其转换为类似于专门使用代码构建的控件的内容


您必须理解,用户控件只是可重用内容的一种方便——最终,标记确实会得到处理和编译。自定义控件实际上是分发web控件的唯一方法。如果您必须以库的形式分发控件,我将集中精力使它们对您的开发人员来说是CSS友好的,只需要一些布局控件属性,而不是乱搞.ascx。

MSDN文章解释了如何做到这一点。基本上,您需要预编译应用程序并获取生成的DLL。

使用上述技术时,DLL文件的命名非常糟糕。要解决此问题,请在命令行中使用不带选项的
aspnet\u merge
。这将把每个目录变成一个DLL,其中包含所有ASCX: