在C#的项目中经常要引用各种DLL,有时就要引用其他版本的DLL,此时就会产生问题。
前段时间一个同事在.NET4.0版本的project上引用SQL Server SMO,就出现了这种问题,他本地机器上安装的是SQL Server 2008,所以他引用的SMO是.NET2.0,此时就出现了版本问题。
错误信息:
Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.
解决办法:
http://connect.microsoft.com/SQLServer/feedback/details/643811/net-4-0-compatible-smo
add the following entry to the app.config file and it should work.
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
For your dev machine can you please confirm the following:
1. What is the version of .NET on that machine?
2. Does the app.config file on the dev machine has the above given entry?
经试验果然解决了版本问题。