0

我已经使用一个常规的 .cs 文件完成了这项工作,该文件只是扩展了 System.Web.UI.UserControl,然后将包含该控件的项目程序集包含到其他项目中。我还在一个项目中创建了 .ascx 文件,然后从 properties->Build Events->Pre-build event 的指定文件夹中复制了所有 ascx 文件。

现在我想做的是这两者的结合:我希望能够在我的所有其他项目中使用我在一个项目中构建的 ascx 文件,但我想仅使用程序集引用来包含它们,而不必复制他们到我的“次要”项目中,因为这似乎是完成我想做的事情的贫民窟方式。它可以工作,但它不是很优雅。

任何人都可以让我知道这是否可能,如果是这样,解决这个问题的最佳方法是什么?

4

3 回答 3

0

从根本上说,用户控件绝不是要跨项目共享的。如果要创建可跨项目重用的控件,则应创建编译成 DLL 的服务器控件,该 DLL 可以简单地被其他项目引用。

开发自定义 ASP.NET 服务器控件

于 2010-05-02T15:08:09.710 回答
0

这篇文章:http ://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx有一个有用的预构建想法,可以复制开发过程中需要的控件。

复制 $(SolutionDir)\MyUserControlLibrary*.ascx $(ProjectDir)\UserControls\

于 2010-10-25T04:38:17.903 回答
0

我知道这个问题已经得到解答,但是我们的一个客户使用 SiteFinity,我们为用户控件提供了一个编译好的 dll 文件,然后他们在他们的 CMS 系统中进行配置。据我所知,它运作良好。

为此,我们在 asp.net 网站(不是 Web 应用程序)中创建用户控件,并使用预编译和“使用的固定程序集名称”选项发布该网站。然后,我们将与 ascx 文件关联的 dll 分发给客户端,并根据需要导入它们。

于 2010-10-25T04:41:39.400 回答