2012-04-25 74 views
0

我有一个使用Excel自动化的C#程序。我试图在Windows上单声道编译这个VS程序,并得到以下例外。作为一个新手,我不知道如何纠正这个问题。当我使用VS编译时,这个程序可以工作。单声道和Excel自动化

C:\ RedLines011Test>单仓\ redlines.exe

//未处理的异常:System.IO.FileNotFoundException:未能加载文件或驴 // embly“的Microsoft.Office.Interop.Excel,版= 14.0.0.0,文化=中立,公开 // KeyToken = 71e9bce111e9429c'或其依赖项之一。 //文件名:'Microsoft.Office.Interop.Excel,Version = 14.0.0.0,Culture = neutral,P // ublicKeyToken = 71e9bce111e9429c' // [错误] FATAL UNHANDLED EXCEPTION:System.IO.FileNotFoundException:Could不是lo //广告文件或程序集'Microsoft.Office.Interop.Excel,Version = 14.0.0.0,Culture = n // eutral,PublicKeyToken = 71e9bce111e9429c'或它的某个依赖关系。 //文件名: '的Microsoft.Office.Interop.Excel,版本= 14.0.0.0,文化=中立,P // ublicKeyToken = 71e9bce111e9429c'

+1

基于COM的不是MS.office.Interop吗?不知道莫诺是否做COM。 – kenny 2012-04-25 02:05:23

回答

1

的错误消息意味着您的Office互操作程序集不可用。它们很可能安装在Mono不使用的.NET GAC中(它拥有自己的GAC)。您可以使用Mono的gacutil来安装它们,或者直接将它们复制到您的.exe所在的文件夹中。话虽如此,Mono中的COM互操作并不是非常先进,它可能会在第一个障碍中失败,并且您绝对不能指望它在非Windows机器上工作。