在将使用SlimDX并因此具有非托管代码的项目转换为.NET 4.0时,我遇到了以下错误:
混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时加载.
谷歌搜索给了我解决方案,这是将其添加到应用程序配置:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我的问题是,做了useLegacyV2RuntimeActivationPolicy什么?我找不到任何关于它的文档.
我在C++ dll上构建,通过在C#中编写代码.
我得到一个错误,说
检测到LoaderLock消息:尝试在OS Loader锁定内执行托管执行.不要尝试在DllMain或图像初始化函数中运行托管代码,因为这样做会导致应用程序挂起.
我试着搜索这个错误究竟意味着什么,但是我正在绘制毫无意义的文章,大多说这只是一个警告,我应该在Visual Studio中关闭它.其他解决方案似乎是由于ITunes,或者在使用DirectX进行编程时出现此问题.我的问题与两者无关.
任何人都能解释一下,这究竟意味着什么?