我在方法中有以下代码:
string username = (string)context["UserName"];
string un = (string)context["UserName"];
问题是第一个字符串“用户名”没有被分配,而第二个被分配了。
更奇怪的是,当我在第一行之后停止调试并将该行复制到立即窗口,删除变量类型声明时,它被成功分配。
我已经重建所有并检查了似乎没问题的项目属性。
context
变量是 a ,System.Configuration.SettingsContext
它是一个哈希表。更具体地说,我正在实现一个配置文件提供程序,即GetPropertyValues
方法。
我正在使用 VS 2012 和 .NET 4.5
编辑:
我在我的项目中使用代码契约,它使用编译时代码注入进行运行时检查。我禁用了它,一切正常。我将尝试一一删除合同以找出导致问题的合同。