2010-07-14 77 views
0

我有一個應用程序使用BouncyCastle框架,我如何打包此應用程序,以便我不必手動將BouncyCastle的.dll放在其他計算機上?我假設這可以用安裝程序或類似的東西來完成?應用程序默認在哪裏查找引用的第三方庫?使用第三方庫打包C#應用程序?

回答

1

由於BouncyCastle是一個託管庫,如果您在Visual Studio中創建安裝程序項目並將其應用程序的exe添加到它,安裝程序將自動檢測對BouncyCastle的依賴關係,並將其添加到安裝程序項目中。當用戶安裝你的應用程序時,BouncyCastle的dll將自動複製到安裝目錄,一切都會很好。

+0

Muchos gracias mi amigo。 – 2010-07-14 14:30:03

1

您需要創建安裝程序。最好從ClickOnce開始。它將使您能夠將所有需要的文件合併爲一個並提供用於安裝的UI。

第二個問題。查找程序集的默認位置是GAC

2

作爲一種替代方法,您可以將程序集註入主程序集。 有一些類似DeepSea Obfuscator的商業工具支持這種工具,或者您可以使用ilmerge

工作的一般方法是使用獨立的程序集進行開發,當您運送產品時,需要執行額外的構建步驟,將程序集合併成一個大程序集。你甚至可以內部化注入的程序集,所以只有你的公共接口是可訪問的。

通過這種方式,您可以將產品作爲單個部件進行部署,這對於構建組件來說尤其好。

要回答你的第二個問題; .NET框架將在幾個位置查找。 GAC是占主導地位的,但是如果確保引用的程序集與主程序集位於同一個文件夾中,.NET將找到它。無需在GAC中註冊。

相關問題