У нас есть приложение WPF, которое запускает слово и затем передает некоторую информацию в дополнение к приложению VSTO.
Я написал код, как было объяснено здесь
Мы определили интерфейс и реализацию следующим образом
[ComVisible(true)]
[Guid("B523844E-1A41-4118-A0F0-FDFA7BCD77C9")]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IBridge {
/// <summary>
/// Loads a task
/// </summary>
/// <returns> </returns>
string Load(SomeDTO dataTransferObject);
}
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.None)]
public class ConcreteBridge : StandardOleMarshalObject, IBridge {
public ConcreteBridge() { }
public string Load(SomeDTO dataTransferObject) {
return "some value";
}
}
Теперь я пытаюсь получить доступ к надстройке
object addInName = addinName;
COMAddIn addIn = WordApp.COMAddIns.Item(ref addInName);
return (IBridge)addIn.Object;
Приложение работает нормально в большинстве случаев.
Тем не менее, иногда он выдает ниже исключения.
System.TypeInitializationException: конструктор типа бросил
исключение. в Utilities.IBridge.Load (SomeDTO dataTransferObject)
Я не уверен, почему это происходит, и был бы признателен, если бы кто-нибудь мог направить меня.