Как зарегистрировать сборки PIA12 (Office 2007) в visual studio 2013
Я установил Office 2013 и VS2013 в Windows 8.1 - когда я сейчас открываю старые проекты, которые ссылаются на PIA версии 12 (для Office 2007), они отсутствуют в ссылках, поскольку VS2013 устанавливает только версии 14 и 15 PIA.
Поскольку я хочу продолжать использовать PIA 12, я не хочу менять ссылки. Вместо этого я хотел бы зарегистрировать PIA версии 12 на VS2013. Как мне этого добиться?
Я уже пытался использовать распространяемый PIA, но он не хочет работать, если я тоже не установлю Office 2007 (что мне не нужно). Я могу получить копии библиотек DLL из какой-то другой системы, но как мне их зарегистрировать в Visual Studio 2013 (я думаю, они мне не нужны в GAC, только в VS2013).
Насколько я знаю для PIA, должны быть записаны некоторые идентификаторы COM-класса, я просто не знаю, как / что.
Редактировать:
Прямо сейчас на библиотеки PIA ссылаются только по Имени и Отпечатку пальца / открытому ключу (без подсказки). Когда я открою справочную панель в VS2013, они появятся, могут быть выбраны и работать. Кажется, они где-то зарегистрированы, поэтому VS2013 может их найти. Я просто хочу повторить это на других компьютерах.
1 ответ
У меня точно такая же настройка: машина с Windows 8.1 и только Office 2013. Никаких проблем с установкой PIA Office 2007. Имейте в виду, что это двухэтапный процесс. После того, как вы загрузили PrimaryInteropAssembly.exe с сервера Microsoft и запустили его, вам будет предложено указать каталог для хранения промежуточных файлов. Перейдите в этот каталог, щелкните правой кнопкой мыши o2007pia.msi
файл и выберите Установить, чтобы получить их на самом деле зарегистрирован.
Это не единственный способ получить их на свою машину. Если у вас есть другой компьютер с установленными PIA, создайте фиктивный проект и добавьте ссылки на необходимые сборки Microsoft.Interop. Выберите их и убедитесь, что для свойства "Embed Interop Types" установлено значение False, а для свойства "Copy Local" установлено значение True. Соберите проект, вы получите сборки взаимодействия в каталоге bin\Debug. Скопируйте их на свой компьютер и используйте кнопку Обзор, чтобы добавить ссылку на них. Вы всегда хотите, чтобы для свойства "Внедрить типы взаимодействия" было установлено значение True в вашем реальном проекте, чтобы вам больше не приходилось развертывать PIA на компьютере вашего пользователя. Проверьте их в своем проекте, чтобы вы не потеряли их снова.
ОБНОВЛЕНИЕ: PIA устарели начиная с.NET 4.0 и VS2010. Проверьте этот пост для деталей.