“CSharp .NET开发 DirectX 遇到 DataContextDeadlock 异常”的版本间的差异
(→CSharp .NET开发 DirectX 遇到 DataContextDeadlock 异常) |
|||
第17行: | 第17行: | ||
=== 解决方法 === | === 解决方法 === | ||
− | 总之,解决方法就是往App. | + | 总之,解决方法就是往App.config里标签configuration下startup标签中添加属性useLegacyV2RuntimeActivationPolicy并设置为true,如果已有该属性则仅需修改为true,大概就这样:<startup useLegacyV2RuntimeActivationPolicy="true"><ref>["https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/startup/startup-element#uselegacyv2runtimeactivationpolicy-attribute" <startup> element | Microsoft Docs]</ref>就好了。 |
如果之后还遇到LoaderLock,不用管它,这个只是调试程序的警告而已,直接继续运行就好,这个异常不会引起程序退出。 | 如果之后还遇到LoaderLock,不用管它,这个只是调试程序的警告而已,直接继续运行就好,这个异常不会引起程序退出。 | ||
== 引用 == | == 引用 == | ||
<references/> | <references/> |
2020年8月16日 (日) 19:57的版本
CSharp .NET开发 DirectX 遇到 DataContextDeadlock 异常
类似的问题
C# .NET DirectX DataContext Exception
上下文
我不知道有没有人遇到跟我一样的bug。但是这个东西真的不好搜索到正确的答案。完全被一大堆一模一样的无用解答刷屏了。
解释
主要原因是DirectX的库很老的了,所以可能就出现了一些.NET对旧版本支持问题。
解决方法
总之,解决方法就是往App.config里标签configuration下startup标签中添加属性useLegacyV2RuntimeActivationPolicy并设置为true,如果已有该属性则仅需修改为true,大概就这样:<startup useLegacyV2RuntimeActivationPolicy="true">[1]就好了。 如果之后还遇到LoaderLock,不用管它,这个只是调试程序的警告而已,直接继续运行就好,这个异常不会引起程序退出。
引用
- ↑ ["https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/startup/startup-element#uselegacyv2runtimeactivationpolicy-attribute" <startup> element | Microsoft Docs]