【发布时间】:2014-06-13 02:26:25
【问题描述】:
我刚刚安装了 Visual Studio 2012,因此我可以利用更好的方法来使用 Silverlight 实现 MVVM。
我想做的第一件事是开始使用 [CallerMemberName] 属性,这样我就不必对属性名称字符串进行硬编码。
我创建了一个新的 Silverlight 应用程序,创建了一个新类,包括“使用 System.Runtime.CompilerServices”,然后继续键入 [CallerMemberName]。但是,我得到了错误:
“找不到类型或命名空间名称'CallerMemberNameAttribute'(您是否缺少 using 指令或程序集引用?)”
但是,我确实包含了 using 指令,并且没有其他需要引用的程序集。
这把我逼疯了,因为谷歌搜索没有返回任何关于为什么我可能无法在 VS2012/Silverlight 中使用它的信息。我该如何解决这个问题?
【问题讨论】:
-
Silverlight 的哪个版本?
-
Silverlight 5。我现在在 VS2013 中尝试过,我得到了相同的结果 - 未找到。
-
正确,因为该属性不是 Silverlight 5 的一部分。您可以根据 SLaks 的答案创建自己的属性,也可以使用 nuget.org/packages/Microsoft.Bcl
-
不知道为什么它不是 Silverlight 5 的一部分。它可用于以前的版本吗?
-
这个属性是在 .NET 4.5 中引入的,它的发布时间比 Silverlight 5 晚得多。
标签: c# silverlight visual-studio-2012