Обновление проекта VSTO до .net 4 - Какие ссылки мне действительно нужны? - PullRequest
3 голосов
/ 18 мая 2010

Я разрабатываю приложение для Office. Первоначально он был нацелен на .net 3.5, но я решил обновить его до .net 4 из-за некоторых проблем с WPF, с которыми я столкнулся.

Когда я переключил все проекты в своем решении и перестроил, я получил ошибку, в которой говорилось о включении System.Xaml. Я сделал это и восстановил, и VS2010 сказал мне включить еще одну ссылку, так что я и сделал. Это происходило еще пару раз, и, наконец, он попросил меня включить Microsoft.Office.Tools.Common.v9.0, и когда я это сделал, я получил эту ошибку:

Microsoft.Office.Tools.CustomTaskPaneCollection существует как в Microsoft.Office.Tools.Common.v9.0.dll, так и в Microsoft.Office.Tools.Common.dll

В моем проекте есть ссылки как на Microsoft.Office.Tools.Common.v9.0, так и на Microsoft.Office.Tools.Common, но проблема в том, что если я удаляю либо, то получаю ошибку. Я делаю что-то неправильно? Странно, что мне понадобятся обе ссылки? Мне кажется странным, что CustomTaskPaneCollection будет определяться в двух разных двоичных файлах.

Если я удаляю Microsoft.Office.Tools.Common, я получаю сообщение об ошибке: «Не удается найти тип взаимодействия, который соответствует встроенному типу взаимодействия« Microsoft.Office.Tools.IAddInExtension ». Вам не хватает ссылки на сборку?»

1 Ответ

2 голосов
/ 11 января 2011

'Microsoft.Office.Tools.IAddInExtension' является частью только Microsoft.Office.Tools.Common.dll. Поэтому удаление Microsoft.Office.Tools.Common.v9.0 не должно быть проблемой. Однако если в какой-либо проект, на который вы ссылаетесь или участвуете, добавлен Microsoft.Office.Tools.Common.v9.0, вам нужно изменить его на Microsoft.Office.Tools.Common.dll. Как только вы это сделаете, это должно решить вашу проблему. Базовая линия заключается в том, что все проекты / ссылочные библиотеки должны быть перекомпилированы после изменения целевой платформы на 4.0, если какой-либо из них использует библиотеки VSTO.

Надеюсь, это поможет.

...