2013-11-04 71 views
0

我想知道如何在C#Express中部署引用的COM對象。C#部署MS Access參考

我已經添加了MS Access對象,它用在我的一個函數中。然而。當我在Express中使用「發佈」工具構建安裝包時,它似乎並未將其添加到包中。

這對我的測試臺PC造成了一個問題,除了Windows以外,它沒有任何東西。該應用程序正常工作,直到它需要訪問參考/對象的點。在這一點上,它拋出了一個異常錯誤。

如果這是一個許可問題 - 這很好(可以理解),但我只需要一些關於這個主題的信息。

+0

什麼異常它拋出? – Mansfield

回答

2

內部.Net程序集不會複製到輸出目錄,除非您告訴Visual Studio這樣做。只需轉到引用的程序集並將「複製本地」選項設置爲「true」。

更方便的方法是手動將文件包含在項目中(在dev PC上查找它)並對複製的文件執行項目引用(聽起來很奇怪,但這種方式不應該需要GAC註冊過程在測試機器上)

另一種方式當然是如上所述安裝完整的interop軟件包。

這不`噸覆蓋,因爲它不能很好地通過微軟定義的任何許可證問題..有2個的普遍觀點:

  • 互操作程序集只創造可能性「對話」的辦公室,以便它是免費使用它們......但爲什麼在沒有辦公室的系統上執行它?

  • 互操作程序集具有相同的EULA的辦公室因此只能安裝Office

微軟沒有明確說法時可以使用,我覺得這是一個常見的Microsoft戰術......

1

在目標機器上安裝Office Primary Interop Assemblies應該可以工作,但我無法就授權方面提供建議。

無論哪種方式,訪問或PIA的需要在那裏。

+0

謝謝你們 - 非常感謝。 – AndyDB