2010-05-18 97 views
1

我正在使用regfree com部署activex組件與clickonce。該組件依賴於一些本地dll,它們應該位於與組件相同的目錄中。如果我手動將原生dll複製到clickonce應用程序的安裝目錄(我通過使用System.Reflection.Assembly.GetExecutingAssembly()找到目錄),應用程序運行良好。但是,如果我將dll包含在項目中併發布它們,則應用程序不起作用。clickonce,添加本機dll,com免費註冊

任何建議或解決方法?

問候,

弗雷德裏克

回答

2

嵌入在你的託管程序集作爲嵌入資源的原生.DLL文件並在運行時解壓縮到硬盤,如果不存在。

如果你不熟悉這個過程,給我留言,我會努力解釋它。這並不複雜。

+0

謝謝!你保存了我的一天..我可以看到,這些DLL完全不會被複制到應用程序目錄中.. @ – fsl 2010-05-18 11:41:21

+0

@fsl - 所以你熟悉嵌入和從程序集中提取資源? – 2010-05-18 11:44:49

+0

沿着Application.GetResourcePart(Uri relativeUri)行,然後打開一個文件流到:System.Reflection.Assembly.GetExecutingAssembly())? – fsl 2010-05-18 11:49:19