2011-05-30 77 views
6

我有一個使用非託管dll的WPF點擊應用程序。如何使用WPF一次性應用程序部署非託管DLL?

在本地調試時,我剛將dll複製到debug/bin文件夾中。

我該如何在項目中包含dll(VS2010),以便部署應用程序並對其進行訪問?

我試着將它作爲資源添加並設置「內容」和「始終複製」,並且該文件確實存在於安裝/部署文件中,但應用程序無法看到它。

如果有幫助,這是我用來訪問非託管DLL中的方法的代碼示例。

[DllImport("ODBC_VER_DETECT.dll")] 
extern private static long GetCompanyFileVersion([MarshalAs(UnmanagedType.LPStr)] String sDataBase, 
               [MarshalAs(UnmanagedType.LPStr)] StringBuilder sVersion); 
+0

難道你不能簡單地將DLL作爲內容文件添加? – 2011-05-30 07:41:35

+0

是的 - 我試過了(見編輯) – dan 2011-05-30 07:48:30

+0

我的歉意 - 而不是通過整個「添加資源」rigmarole - 我只需要「添加現有的項目」到項目的根文件夾,然後設置「內容」和「始終複製「。謝謝Steve B. – dan 2011-05-30 07:55:34

回答

8

而不是去通過整個「添加資源」胡言亂語 - 我只是需要「添加現有項目」到項目的根文件夾,然後設置「內容」和「一直拷貝」。

+7

還有其他更優雅的解決方案嗎? – 2012-03-27 14:21:35

+0

注意:如果內容項目在項目A中,但項目B(依賴於A)是您要發佈的內容項目,則不會包含內容文件。項目B將*不*看到來自A的內容項目,因此您將無法將它們添加爲已發佈的應用程序文件。 – kdbanman 2015-12-17 18:17:02

相關問題