在我的C#程序中,我使用Excel 2010 interop程序集。有了這個,我正在讀取&將數據寫入excel文件。在開發框(包含Office 2010)上執行得很好。在客戶端計算機上,即使他們具有Office 2010和Office PIA,也會看到下面的異常,並引發WriteToExcel()方法調用。Excel interop MissingMethodException
Unhandled Exception: System.MissingMethodException: Method not found: 'System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.GUID)'.
下面是我的代碼片段。
[STAThread]
static void Main(string[] args){
// read user input, process and write data to Excel
WriteToExcel();
}
[STAThread]
static void WriteToExcel(){
Application xlsApplication = new Application();
Workbook xlsWorkbook = xlsApplication.Workbooks.Open(excelFilePath);
// write data to excel
// close up
}
你可以在客戶機上調試嗎? Furqan的答案也適用? – JMK
在該機器上安裝.NET 4.5。 –
@HansPassant好的一點,也許OP在開發機器上安裝了4.5,目標是4.0(在客戶端機器上),這是一個被掩蓋的bug,因爲4.5代替了4.0編譯器,因此掩蓋了4.0中的錯誤? – JMK