关于 dotnetframework不同版本兼容性的屁小的事情

背景:最近公司要将太平洋东岸的一个项目搬到mainland这边,但大陆有用大恒水星系列的工业相机,但原来的项目对工业相机没有作支持,只好临时加上;但水星的SDK是dotnet3.5;而公司的项目是dotnet4.5.


我公司电脑的开发环境  win7+vs 2015

家里电脑的开发环境 win8.1+vs2015


今天在公司遇到的情况:

1.看完了大恒sdk的例子,因为是公司项目是wpf项目,所以我决定在wpf项目中调用winform 的picturebox组件;

2.写完代码后,编译通过,运行不能通过;提示只是说初始化大恒的组件是空值,至于是那一个地方出错,没有任何不效提示;

3.考虑可能是wpf项目的原因,因为自己对wpf实在是从来没用过,所以建新的winform项目来测试,发现错误还是一样,编译通过,运行不能通过,排除wpf的问题;

4.比较自己的项目与sdk自带的example,发现example用的是dotnetframework 3.5,而我用的是4.5; 将自己的项目改成3.5正常,将wpf测试工程也改成3.5,正常;

确定是因为dotnetframework版本问题;这需要找厂家最新的版本;

下班回家,复习英语到11点

5.开始在网上找厂家最新的sdk,发现没可能找到,想着明天求助厂家给我们最新的sdk;

6.还是写了一个测试工程来测试下载的一些sdk,死马当活马医,反正就几步;发现出错居然不同,直接提示是因为混合程序集的问题;

7.快速将相关提示放到百度去search一下,居然出了好多答案,其中一个说在app.configj的startup放下一段配置即可解决,我直觉觉得有戏,照办如下:


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>

现在有一个疑问,一样的代码,在win7和win8.1上相关的机器提示可能会不一样?

个人猜想,win8.1修复了很多bug,所以它对错误的认知应远胜win7,能给用户较精确的提示;




你可能感兴趣的:(关于 dotnetframework不同版本兼容性的屁小的事情)