Как связать новый шаблон слова VSTO со старым шаблоном, основанным на старых документах, чтобы они открывались нормально (чистое обновление 2010> 2016) - PullRequest
1 голос
/ 09 мая 2019

Мы находимся в процессе обновления наших шаблонов VSTO (VS2010) с Office 2010 до Office 2016 с использованием VS2015.

Шаблоны уже были однажды преобразованы с использованием VS2015 кем-то, кто покинул компанию, но пытался заставить их работать снова для обновления телефонных номеров и т. Д. В нашей среде сервера DEV просто ошибка после ошибки.

Так что я подумал сделать чистый проект с нуля в VS2015, повторно используя имена, имена сборок, информацию о сборке, включая GUID и код оригинальных шаблонов, чтобы это был более чистый проект Office 2016 с оригинальной функциональностью.

Эти новые шаблоны прекрасно работают при создании нового документа или редактировании этого нового документа. Проблема связана с документами, созданными с использованием оригинальных шаблонов 2010 года.

Допустим, вы установили новый шаблон "Письмо" в чистом офисе 2016 года, а затем откройте документ, созданный с использованием аналогичного шаблона "Письма" офиса 2010. Вместо того, чтобы предполагать, что новый шаблон совпадает со старым шаблоном (как он делал с преобразованным шаблоном), он пытается переустановить офис 2010.

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

Большое спасибо,

Dean

убедившись, что имена проектов, имена сборок, информация о сборке, включая GUID, совпадают с исходным шаблоном, а номер версии выше, чем у старого шаблона.

1 Ответ

0 голосов
/ 13 мая 2019

Проблема в том, что они находятся в 2 местах, старые документы имеют ссылки на папку, из которой они были установлены.Вы можете изменить шаблон, как я ранее описал на вкладке «Разработчик» (и, возможно, также местоположение обновления в «Файл»> «Информация»> «Свойства»> «Дополнительные свойства»> «Пользовательский»> «_AssemblyLocation»), или сделать это программно, но, поскольку вы не можете получить старый, чтобыbuild, вы не можете добавить код, чтобы сделать это.

Но так как вы повторно используете одни и те же детали проекта, вы можете просто уронить новый поверх старого (я считаю, SolutionIDсвойство, которое вам нужно больше всего беспокоить, но это, вероятно, то, что вы имели в виду под GUID).И тогда вы могли бы потенциально обновить эти значения программно, чтобы они указывали на папку с лучшим именем.

...