在C#中创建新的Calc文档(OpenOffice)

时间:2011-04-01 12:44:23

标签: c# openoffice.org calc

我正在尝试打开新的Calc文档,我收到了这个错误:

System.IO.FileLoadException:混合模式程序集是针对运行时的版本“v2.0.50727”构建的,如果没有其他配置信息,则无法在4.0运行时加载。

Cli引用包含在项目中。

    void OpenSpreadsheetClick(object sender, EventArgs e)
    {
        XComponentContext oStrap = uno.util.Bootstrap.bootstrap();
    //The next step is to use OpenOffice.org's service manager to create a desktop:
    XMultiServiceFactory oServMan = (XMultiServiceFactory) oStrap.getServiceManager();
    XComponentLoader oDesk = (XComponentLoader) oServMan.createInstance("com.sun.star.frame.Desktop" );
    string url = @"private:factory/scalc";
    PropertyValue[] propVals = new PropertyValue[0];
    XComponent oDoc = oDesk.loadComponentFromURL(url, "_blank", 0, propVals);
    }

如何解决? Tnx求助:)

2 个答案:

答案 0 :(得分:2)

在我看来,你需要这个app.config:

  <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
  </startup>

查看此(有些相关)帖子了解更多信息:http://blogs.msdn.com/b/jomo_fisher/archive/2009/11/17/f-scripting-net-4-0-and-mixed-mode-assemblies.aspx

编辑:如果您想了解有关useLegacyV2RuntimeActivationPolicy标志实际执行操作的更多信息,MSDN在此处有一个页面:http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx

答案 1 :(得分:0)

将项目中的目标框架设置为3.5或2.0。