3.2.ActiveX控件部署
ActiveX控件可以使用Visual Studio 2005的安裝項目進行部署。這與普通的Windows Form應用程序的部署幾乎一樣,只有一個地方需要注意,將前面創建的用戶控件項目作為主輸出項目,並設置其Register屬性為vsdrpCOM,如下圖所示:
3.3.測試
建立一個Web應用程序項目,在測試頁面的Html代碼中添加對ActiveX控件的引用,並且可以通過Javascript調用控件的公共成員(注意這裡clsid後面的值即為前面為用戶控件類設置的GUID):
<object id="csharpActiveX" classid="clsid:E5E0446C-8680-4444-9FC2-F837BC617ED9"></object>
< input type="button" onclick="alert(csharpActiveX.SayHello());" value="顯示當前時間" />
將該Web應用程序項目發布到IIS。另外找一台電腦作為客戶端測試環境,確保它與服務器端網絡連通,安裝.Net Framework 2.0和該ActiveX控件。安裝完成後,就可以用浏覽器訪問服務器,進行測試了(你也可以在開發環境的系統中安裝該ActiveX控件,並直接在VS 2005中運行WebApp項目查看結果):
4. 總結
綜上所述,在Visual Studio 2005環境中使用C#開發ActiveX控件,技術實現上沒有什麼難度,唯一的問題就是客戶端需要安裝.NET Framework。鑒於ActiveX控件一般都是實現一些簡單單一的功能,.NET Framework 2.0已經完全可以應付,所以建議在.NET Framework 2.0下開發。因為相對於.NET Framework 3.5兩百多兆的安裝包,.Net Framework 2.0安裝包只有20多兆,用戶相對容易接受一些。
5. FAQ
5.1.出現如下錯誤怎麼解決?
經在網上查閱,該問題是Visual Studio 2005的一個Bug,並不是每次都發生。我的解決辦法是從Visual Studio 2008的安裝目錄裡拷貝regcap.exe覆蓋Visual Studio 2005的對應文件,文件目錄一般為“~\Microsoft Visual Studio 8\Common7\Tools\Deployment\regcap.exe”。壓縮包中提供了該文件的Visual Studio 2008版本。