2

两天来,我对 VS 2010 (SP 1) 有一个非常讨厌的问题。我的解决方案由 1 个 Azure 项目组成,每个项目有 4 个角色,每个 1 个实例。它们中的每一个都在第一行之一执行配置更改,以设置 ServiceStack.Text JSON 序列化程序的日期格式。

JsConfig.DateHandler = JsonDateHandler.ISO8601;

有人会认为这里不会出错,但不知何故,我的 VS 不这么认为。如果我执行 Clean+Rebuild,解决方案就可以正常工作。如果我停止调试(或其他一些异常结束调试运行),则每次进一步的调试运行都将在此行停止并抛出 MissingMethodException 抛出异常

如果我再次执行 Clean+Rebuild,它恰好可以运行 1 次,然后再次引发异常。显然,该方法不能消失,但我对这个问题的根源一无所知,它只会破坏我在每次更改后清理 + 重建的效率。

之前的 ServiceStack.Text 版本确实没有这个方法(是的,我几天前就使用了之前的版本),但是我删除了它的每一点。我什至通过 QuickWatch 查看了 typeof(JsConfig).Assembly 以确认它加载了最新版本,它确实如此,所以我无法想象以前的版本如何负责。

我已经尝试过但没有改变任何东西的操作:

  • 删除了 .suo
  • 停用的 AV 和 SearchProtocolHost(也许他们锁定了文件或其他东西)
  • 通过 NuGet 删除所有与 ServiceStack.Text 相关的内容,并在每个(使用)项目中重新安装它
  • 重启VS2010十亿次
  • 重新启动
  • 在 Sysinternals Process Monitor 中寻找明显的东西

顺便提一句。我不认为这个问题真的与 ServiceStack.Text 库有关,但显然我不能确定。

4

2 回答 2

1

我遇到了同样的问题(请参阅我的评论),但在升级到最新版本的 Servicesstack.Text 后,问题就消失了。

拉尔西

于 2012-04-12T07:32:05.370 回答
0

好吧,问题已解决,但我不知道到底是怎么回事。

我将我的 TFS 工作区移到了另一个驱动器,该驱动器(不知道,以为它只会将所有内容移至新驱动器)刚刚从存储库中获取了最新版本,之后似乎已修复它。所以问题一定出在那些被排除在 TFS 源代码控制之外的文件上。它不能是 .suo,因为我多次删除它,但也不能是那些被每次构建覆盖的文件(“清理”已经删除了它们),所以不应该留下很多文件. 希望至少有一点帮助。

于 2012-04-12T18:46:28.100 回答