“CSharp .NET开发 DirectX 遇到 DataContextDeadlock 异常”的版本间的差异
|  (→解决方法) | |||
| (未显示2个用户的5个中间版本) | |||
| 第22行: | 第22行: | ||
| <code> | <code> | ||
| − | <configuration> | + | <configuration><br /> | 
| − | + |     <startup useLegacyV2RuntimeActivationPolicy="true"></startup><br /> | |
| − | <startup useLegacyV2RuntimeActivationPolicy="true"></startup> | ||
| − | |||
| </configuration> | </configuration> | ||
| </code> | </code> | ||
| 第31行: | 第29行: | ||
| 就好了。 | 就好了。 | ||
| − | + | 如果之后还可能遇到LoaderLock,不用管它,这个只是调试程序的警告而已,直接继续运行就好,这个异常不会引起程序退出。 | |
| == 引用 == | == 引用 == | ||
| <references/> | <references/> | ||
2021年6月30日 (三) 06:06的最新版本
CSharp .NET开发 DirectX 遇到 DataContextDeadlock 异常
类似的问题
C# .NET DirectX DataContext Exception
上下文
(WikiMedia貌似不能在标题使用井号,所以我只好用CSharp这个词了)
我不知道有没有人遇到跟我一样的bug。但是这个东西真的不好搜索到正确的答案。完全被一大堆一模一样的无用解答刷屏了。
解释
主要原因是DirectX的库很老的了,所以可能就出现了一些.NET对旧版本支持问题。
解决方法
总之,解决方法就是往App.config里标签configuration下startup标签中添加属性useLegacyV2RuntimeActivationPolicy并设置为true,如果已有该属性则仅需修改为true,大概就这样[1]:
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true"></startup>
</configuration>
就好了。
如果之后还可能遇到LoaderLock,不用管它,这个只是调试程序的警告而已,直接继续运行就好,这个异常不会引起程序退出。

