Создание нового документа Calc (OpenOffice) в C # - PullRequest
2 голосов
/ 01 апреля 2011

Я пытаюсь открыть новый документ 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 ]

2 голосов
/ 01 апреля 2011

Мне кажется, что вам нужно это в вашем 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

0 голосов
/ 01 апреля 2011

Установите целевую платформу в вашем проекте на 3.5 или 2.0.

...