1

我发现了诺基亚的这个不错的插件,https://github.com/nokia-developer/rate-my-app

我按照他们的指南在我的应用程序中实现它,可以在这里下载https://github.com/nokia-developer/rate-my-app/blob/master/Doc/RateMyAppGuide.pdf?raw=true

顺便说一句,该指南中没有什么困难,我只需要在我的项目中安装一个插件并添加两行代码,

xmlns:rma="clr-namespace:RateMyApp.Controls;assembly=RateMyApp"

<rma:FeedbackOverlay x:Name="FeedbackOverlay" Grid.RowSpan="2" FeedbackTo="me@test.com" ApplicationName="MyApp" CompanyName="MyCompany"/>

我实际上做了所有事情都没有遇到任何问题。当我试图编辑 rma:FeedbackOverlay 对象的 XAML 代码时,“GUI”窗口(靠近 XAML 项目的那个)抛出了这个异常:

InvalidOperationException: The property "FeedbackOverlay.Message" does not expose a get method.
InnerException: None
(there is also a StackTrace that I am not able to read, but I can provide it if anyone can read that for me)

我尝试在我的设备上部署该应用程序,它实际上运行良好,使扩展程序按预期工作。然而,我担心这个例外。我有理由吗?我该如何解决?提前致谢!

(是的,我尝试重新启动电脑,重新启动 IDE,但没有任何效果)

4

1 回答 1

3

我检查了这个插件的代码。如果你在那里打开 FeedbackOverlay.xaml.cs 你会发现 Message 属性缺少 get 访问器:

public string Message
{
   // get { //something } - is not here
   set
   {
      // some code
   }
}

但在这种情况下(因为此属性仅用于定义消息 - 不获取它)不需要 get 访问器。因此,您获得的异常可能仅来自 Visual Studio,它表明如果您尝试获取 Message 的值可能会出现问题。
因此,除非您尝试获取 Message 的值 - 例如:

string myMessage = FeedbackOverlay.Message;

应该没有问题(VS上面也应该标记这个代码)。如果您尝试在 xaml 中获取此值(例如使用 Binding),也可能会出现问题。

我还认为,如果您通知开发人员(您可能会在 Github 或项目中的某个地方轻松找到他的电子邮件)您遇到了这样的问题,那将会很好。

希望这可以帮助。

于 2014-01-31T07:17:26.247 回答