我发现诺基亚的这个好插件,https://github.com/nokia-developer/rate-my-app
我按照他们的指南在我的应用中实施,可以在此处下载https://github.com/nokia-developer/rate-my-app/blob/master/Doc/RateMyAppGuide.pdf?raw=true
在该指南中没有什么困难,顺便说一下,我只需要在我的项目中安装插件并添加2行代码,
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,没有任何效果)
答案 0 :(得分:3)
我检查了this addon的代码。如果您在那里打开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上或项目中的某个地方找到他的电子邮件),那么您会遇到这样的问题会很好。
希望这有帮助。