.NET Framework和兼容性

时间:2016-06-29 07:40:47

标签: c# .net

我们有一个案例,其中2个.NET应用程序在同一台计算机上运行,​​A是为4.6.1构建的,B是为4.5构建的。这意味着我们必须为A安装.NET framework 4.6.1但这会破坏应用程序B的某个部分(打印)。应用程序B必须修复,但与此同时,我们如何解决这个问题?我读过这篇文章:https://msdn.microsoft.com/en-us/library/ff602939(v=vs.110).aspx

它声明我应该像这样设置supportedRuntime:

NSMutableDictionary *resultDict = [NSMutableDictionary dictionary];
                for (int i = 0; i < [preferences count]; i++)
                {
                    if (resultDict[[preferences[i] valueForKey:@"notificationType"]]) {
                        //pull out the array and add to it
                        NSMutableArray *mutableArray = [[NSMutableArray alloc]initWithArray: resultDict[[preferences[i] valueForKey:@"notificationType" ]]];
                        [mutableArray addObject:preferences[i]];
                        [resultDict setValue:mutableArray forKey:[preferences[i] valueForKey:@"notificationType" ] ];
                    }
                    else
                        {
                            NSArray *array = @[preferences[i]];
                            [resultDict setValue:array forKey:[preferences[i] valueForKey:@"notificationType" ] ];
                        }
                    }

                [self.foundPreferences addObject:resultDict];

但这真的能解决我的问题吗? 4.6.1是否也包含4.5整体?

1 个答案:

答案 0 :(得分:0)

在安装了4.6.1的计算机上无法运行4.5。这个问题没有意义。将加载.net框架的4.6.1版本,因为这些是您安装的唯一库。 4.6.1意味着拥有一个具有4.5库的所有功能的库,但实际上4.5是一个有缺陷的垃圾,并且删除了许多错误。当然,一个人的错误是另一个男人的特征....

因此,如果您使用的是4.5框架API,那么您就没有问题。

但是如果你依赖4.5的bug,你就会被塞满。

更重要的是,不再支持4.5。

更新:.net Core v1.0已经上线。

.net Core的框架由nuget部署,因此您可以使用多个版本。您可以同时安装.net 4.5.net Core 1.0,这可能会解决您的问题。