2010-05-02 51 views
0

我已經使用常規的.cs文件來完成此操作,該文件只是擴展System.Web.UI.UserControl,然後將包含該控件的項目的程序集包括到其他項目中。我還在一個項目中創建了.ascx文件,然後從properties-> Build Events-> Pre-build事件中的指定文件夾中複製所有ascx文件。跨項目共享網絡用戶控件

現在我想要做的就是這兩者的結合:我希望能夠使用我在一個項目中構建的ascx文件,在我所有的其他項目中,但我只想使用程序集引用來包含它們而不是將它們複製到我的「二級」項目中,因爲這似乎是一個貧民窟的方式來完成我想要做的事情。它的作品是,但它不是很優雅。

任何人都可以讓我知道,如果這甚至可能,如果是的話,什麼是最好的方法來解決這個問題?

回答

0

從根本上說,用戶控件從未打算在項目中共享。如果您想要創建可跨項目重用的控件,則應創建編譯爲DLL的服務器控件,該DLL可以簡單地由其他項目引用。

Developing Custom ASP.NET Server Controls

0

我知道這個問題已經回答了,但我們的一位客戶使用SiteFinity我們提供用戶控制與編譯DLL文件,然後他們在CMS系統中進行配置。據我所知,它工作得很好。爲此,我們在asp.net網站(而不是web應用程序)中創建用戶控件,並使用預編譯和「used fixed assembly names」選項發佈站點。然後,我們將與ascx文件關聯的dll分發給客戶端,並根據需要導入它們。