VSTO Office 加载项在打开 MessageBox 时出现异常
VSTO Office Add In gives exception when opening MessageBox
我有一个用 .Net C# 实现的 MS Office Word 插件。
在我尝试打开消息框的特定情况下
MessageBox.Show()
我遇到异常
System.Runtime.Serialization.SerializationException
这显然与 MessageBox 无关。
流程就是这样
1- Perform call to MessageBox.Show() -> All goes well
2- Perform some WCF calls -> All goes well
3- Perform a new call to MessageBox.Show() -> I get the exception
例外是
System.Runtime.Serialization.SerializationException: Type is not resolved for member XXX
其中 XXX 是
的实现
System.Security.Principal.IPrincipal
有没有人知道我可能做错了什么。
如果我跳过第 2 步,那么第 3 步也可以正常工作。
如果我跳过第 1 步(第一个 MessageBox 显示)并且只执行第 2 步和第 3 步,那么它也可以正常工作。
我以前遇到过同样的问题。
您正在使用自定义身份吗?如果是这样,那么请确保您的身份是 [Serializable] 并实现 ISerializable 接口。这将解决您的问题。
Reference
(这是关于服务器应用程序,但如果您使用 Office 并调用 WCF,则同样适用)。
虽然我不明白为什么需要这样。
我有一个用 .Net C# 实现的 MS Office Word 插件。 在我尝试打开消息框的特定情况下
MessageBox.Show()
我遇到异常
System.Runtime.Serialization.SerializationException
这显然与 MessageBox 无关。
流程就是这样
1- Perform call to MessageBox.Show() -> All goes well
2- Perform some WCF calls -> All goes well
3- Perform a new call to MessageBox.Show() -> I get the exception
例外是
System.Runtime.Serialization.SerializationException: Type is not resolved for member XXX
其中 XXX 是
的实现System.Security.Principal.IPrincipal
有没有人知道我可能做错了什么。 如果我跳过第 2 步,那么第 3 步也可以正常工作。 如果我跳过第 1 步(第一个 MessageBox 显示)并且只执行第 2 步和第 3 步,那么它也可以正常工作。
我以前遇到过同样的问题。
您正在使用自定义身份吗?如果是这样,那么请确保您的身份是 [Serializable] 并实现 ISerializable 接口。这将解决您的问题。
Reference (这是关于服务器应用程序,但如果您使用 Office 并调用 WCF,则同样适用)。
虽然我不明白为什么需要这样。