Я пытаюсь добавить пользовательский компонент ActiveX к слайду PowerPoint, я пробовал много вещей, моя версия PowerPoint 32-битная, теперь я пытаюсь сделать его максимально простым. Проект AnyCPU и .net 4.7.
VSTO не соответствует моим потребностям, поэтому это не вариант (насколько я могу судить, он не позволяет добавлять пользовательские элементы управления в слайды, которые мне нужны)
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[Guid("87622EEA-5A6A-4F1B-A56A-AC0F88603EF6")]
public interface IBasicActiveXSampleInterface
{
string testOne();
}
[ClassInterface(ClassInterfaceType.None)]
[Guid("B2B334B3-2785-40C6-A3B9-1CEF9D7D4D94")]
[ProgId("EKATONXSampleProg")]
public class BasicActiveXSample : IBasicActiveXSampleInterface
{
public string testOne()
{
return "test 1234";
}
}
Также объявлено на уровне сборки:
[assembly: ComVisible(true)]
Я отключил регистрацию для COM в свойствах проекта и добавил событие postbuild, думая, что это может быть проблема битности, поэтому проект будет зарегистрированс помощью обоих .net 4 regasm (framework и framework 64).
Компонент отображается в списке компонентов COM при добавлении ссылки в Visual Studio, но независимо от того, что я делаю, он не будет отображаться в режиме разработки Powerpoint в разделедругие элементы управления (все же другие элементы управления работают просто отлично, например, я могу добавить медиаплеер к слайду).
Редактировать: конечная цель - создать видимый элемент управления winform для размещения содержимого WPF, но как только яУ меня будет элемент управления ActiveX, написанный на C #, я буду чувствовать себя как дома, я попытался пойти на это с самого начала, следуя скудным учебникам (и довольно многоo документация) по теме, все не удалось, за исключением того, что мой элемент управления отображался в списке случайным образом и падал при добавлении с ошибкой, говорящей, что powerpoint не может прочитать реестр.
Список страниц, которые я просмотрел и воспроизвелбезрезультатно:
https://www.codeguru.com/csharp/.net/net_general/comcom/article.php/c16257/Create-an-ActiveX-using-a-Csharp-Usercontrol.htm
https://codedocu.com/Office-365/Office/COM-Controls/Code_colon_-Create-your-own-ActiveX-Component-in-Visual-Studio-2017-and-Office-2016-365?2075
https://codedocu.com/Details_mobile?d=2382&z=1&t=Create+C%23+COM+Control+for+Office