В проекте рабочей книги VSTO не удается создать прокси-класс службы Windows - PullRequest
0 голосов
/ 10 января 2012

У меня есть проект рабочей книги Excel VSTO.В книге Excel используется подключение к WCF службы Windows.Это соединение определено в другой библиотеке классов, на которую есть ссылка в проекте шаблона рабочей книги VSTO.

Другой проект запускает эту книгу, используя следующий код:

Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
                Microsoft.Office.Interop.Excel.Workbook wb = excel.Workbooks.Open(filepath);
                excel.Visible = true;

Затем Excel создает прокси-класс службы Windows в обработчике событий Sheet_Activate, просто создав новый объект:

MyServiceClient service = new MyServiceClient();

И тогда я получаю исключение:

"Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт" MyService.IMyService "в разделе конфигурации клиента ServiceModel. Это может быть связано с тем, что для вашего файла не найден файл конфигурации.приложение, или потому что ни один элемент конечной точки, соответствующий этому контракту, не может быть найден в клиентском элементе. ".

Но я получаю это исключение только на одном ПК.На нескольких других ПК это приложение работает нормально.И конфигурация приложения одинакова на всех ПК: версия Excel одинакова, служба Windows развернута одинаково, app.config одинаков.Что может быть причиной сбоя моего приложения с этой ошибкой?

Может быть, он действительно не может найти файл конфигурации, как сказано в сообщении об ошибке?Как мне это проверить?Что еще я могу сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 11 января 2012

Похоже, что моя рабочая книга ищет конфигурацию в файле excel.exe.config на компьютере, где эта книга не работает. На машинах, где работает книга, "мой проект" .dll.config ищется и находится. Я скопировал правильный файл конфигурации в каталог приложения Excel как «excel.exe.config», и теперь все работает нормально.

...