这是问题所在。下面的代码在我的开发PC上工作正常,但是当我部署应用程序时,它崩溃了。
以下是relvant的代码行
Private TdsTypesList As List(Of TDS_Type)
...
TdsTypesList = (From tt In db.TDS_Types Select tt).ToList
这是我得到的错误
异常来源:匿名托管DynamicMethods程序集 异常类型:System.Security.VerificationException 异常消息:操作可能会破坏运行时的稳定性。 异常目标站点:Read_TDS_Type对象引用未设置为>对象的实例。
我有很多使用linq的查询,但没有一个会抛出任何错误。数据集也不是很大,少于100行。我不知道我是否有任何其他查询没有哪些语句可以工作。
在客户端计算机上运行没有sp1的.net 3.5,虽然我在我的开发PC上运行sp1。寻找不需要安装sp1的解决方案。
修改 远程调试时第二行的代码中断。
我查看了Operation could destabilize the runtime? 并尝试了以下相同的错误。
TdsTypesList = tl.OfType(Of TDS_Type)().ToList
我终于找到了一个肮脏的解决方法。我没有从该表中提取所有列,而是重写了查询以省略1列。这将返回一个匿名类型的对象,我可以使用该对象。我仍然想知道是什么原因引起的。
答案 0 :(得分:0)
我不确定它会有所帮助,但您可以更改所有引用的本地复制DLL,因此它将使用本地版本而不是客户端版本,这可能会也可能不会导致异常。