2013-04-19 5 views
2

Я использую библиотеку MPXJ, позволяющую манипулировать информацией о проекте на Java и .Net. (дополнительная информация на http://mpxj.sourceforge.net/) Я работаю с Visual Studio 2012. Когда я использую шаблон проекта VSTO для консольного приложения или приложения windows.forms, моя программа выполняется без каких-либо ошибок.Не удалось загрузить файл или сборку IKVM.OpenJDK.Core

Но, когда я использую шаблон SharePoint WebPart, я вижу следующее сообщение об ошибке:

System.IO.FileNotFoundException: Не удалось загрузить файл или сборку «IKVM.OpenJDK.Core, Version = 7.0 .4335.0, Culture = neutral, PublicKeyToken = 13235d27fcbfff58 "или одна из его зависимостей. Указанный модуль не найден.
файла: "IKVM.OpenJDK.Core, Version = 7.0.4335.0, Culture = нейтрально, PublicKeyToken = 13235d27fcbfff58"
в MA_SQL_Workload.MppTaskController..ctor()
в MA_SQL_Workload.UpdateStarter.startDBUpdate()

Поэтому он не может найти сборку «IKVM.OpenJDK.Core».

Класс MppTaskController.cs - единственный, который использует библиотеку MPXJ. Ошибка произошла, когда я установил MppTaskController.

И когда я использую точно такой же класс в приложении консоли или формы, он работает хорошо. Я могу отправить вам приложение windows.form, если хотите.

Я хотел бы разместить изображение проекта explorer, но мне нужно как минимум 10 репутации для публикации изображений. Возможно, сбой может быть неправильным путем чего-то в папке проекта.

Я хотел бы показать вам дополнительную информацию или отправить вам папку проекта, если хотите.

Как вы думаете, где провал?

Вот все файлы * .dll в папку ... \ ProjectName \ WebpartName \ Bin \ Debug \

IKVM.OpenJDK.Beans.dll 
IKVM.OpenJDK.Charsets.dll 
IKVM.OpenJDK.Core.dll 
IKVM.OpenJDK.Jdbc.dll 
IKVM.OpenJDK.Security.dll 
IKVM.OpenJDK.SwingAWT.dll 
IKVM.OpenJDK.Text.dll 
IKVM.OpenJDK.Util.dll 
IKVM.OpenJDK.XML.API.dll 
IKVM.OpenJDK.XML.Bind.dll 
IKVM.OpenJDK.XML.Parse.dll 
IKVM.Runtime.dll 
junit.dll 
MA_SQL_Workload.dll 
MA_SQL_Workload.pdb 
MA_SQL_Workload.wsp 
Microsoft.Office.Interop.MSProject.dll 
mpxj.dll 
poi-3.7-20101029.dll 
+0

Пожалуйста, переведите сообщение об исключении на английский язык; вы получите лучшую помощь, а другие выиграют при поиске этого исключения. –

+0

У вас есть сборка в вашем GAC, и она отсутствует на сервере sharepoint? Попробуйте добавить сборку в папку bin – Yeronimo

+0

Да, в папке есть все файлы *. DLL: C: \ Users \ sp \ Documents \ Visual Studio 2012 \ Projects \ MA_SQL_Workload \ MA_SQL_Workload \ bin \ Debug – Nipon

ответ

1

Убедитесь, что вы установили саксонские компоненты на сервере, используя их исполняемый файл. Я столкнулся с той же ошибкой, и хотя мои зависимости существовали на сервере в правильных местах, я получил эту ошибку, пока не установил компоненты Saxon через исполняемый файл. Удачи. НТН.

0

Я думаю инсталлятор загружает необходимые библиотеки DLL в глобальный кэш, но без инсталлятора вы должны быть в состоянии заставить его работать, загрузив следующие библиотеки DLL в глобальный кэш на каждом компьютере, который использует Saxon HE:

saxon9he.dll 
saxon9he-api.dll 
IKVM.OpenJDK.Charsets.dll 
IKVM.OpenJDK.Core.dll 
IKVM.OpenJDK.Text.dll 
IKVM.OpenJDK.Util.dll 
IKVM.OpenJDK.XML.API.dll 
IKVM.Runtime.dll 

Запуск после следующей команды с правами администратора будет загружать один DLL в GAC

"<Path To GACUtil>\GACUtil.exe" /if <Path to dll>\IKVM.OpenJDK.Charsets.dll 

Я использую .Net 4.5, так что на моей машине Gacutil.exe в C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ NETFX 4.0 Инструменты \

Смежные вопросы