我是否可以在同一解决方案中使用.NET Framework 4.5.2和4.6.2的另一个项目?

时间:2018-04-03 19:14:30

标签: c# .net

我想创建一个VS解决方案,其项目使用.NET Framework 4.5.2,另一个项目使用4.6.2在同一个VS解决方案中。

3 个答案:

答案 0 :(得分:2)

是的,您可以将它们放在同一个解决方案中而不会产生任何影响。现在,如果您混合引用彼此的版本而不是进入灰色区域。

如果您的代码引用的库是与您的目标框架相同或更少的库,那么您通常也可以使用它,但您还应该检查是否存在任何已知问题。反过来,当你的代码是ref库时,你的目标框架比你可能期望出现一些奇怪的东西和意想不到的错误。

答案 1 :(得分:2)

在同一解决方案中使用不同版本的.Net的项目很好。在项目之间添加引用时,可能会出现问题。项目可以引用位于引用项目版本之下或之下的其他项目。即,.Net 4.5项目可以引用.Net 4.5项目并降低。

现在,如果您将.Net 4.6.2项目的引用添加到.Net 4.5项目中,它将无法解析,换句话说,该引用只是不起作用。不幸的是,Visual Studio不会阻止你(至少在撰写本文时),所以你需要寻找几个视觉提示来让你知道有些不对劲。一个是在Visual Studio中的项目下的引用列表中;感叹号将显示在您的参考旁边,如下所示:

Reference visual cue warning

另一个提示将是这样的编译时警告:

Compile time warnings

您需要密切注意这一点,因为如果您在引用项目中使用该程序集时很可能会导致运行时问题,这可能是排除故障的难题。

答案 2 :(得分:0)

这取决于。我只是尝试了4.5.2和4.7.1。只要引用到位,您就可以从较新的版本(在我的例子中为4.7.1)中引用4.5.2框架代码中的项目。但是,我认为它不会相反。