【问题标题】:Upgrading from /oldSyntax to /CLR - is .Net 4.0 a minimum requirement?从 /oldSyntax 升级到 /CLR - .Net 4.0 是最低要求吗?
【发布时间】:2016-07-12 06:33:02
【问题描述】:

为了准备迁移到 VS2015,我正在使用旧的(现已弃用的)“旧语法”升级几个 CLR 项目解决方案,而不是使用“新语法”(即切换 /CLR 而不是 /oldSyntax)。

C# 项目的目标是 .Net 3.5(我们希望单独迁移到更高版本)。

我已完成所有语法内容(在这方面没有进一步的错误/警告),但在构建时收到以下错误:

“SomeAssembly.dll”或其依赖项之一需要比项目中指定的更高版本的 .NET Framework。

如果我将 C# 项目更新为以 .Net 4.0 为目标,错误就会得到解决。

.Net 4.0 是使用“新语法”(/CLR 开关)的最低要求吗?

我找不到任何提及这一点的参考资料。

编辑: C# 项目都是库项目。

编辑:在 VS2008 下构建该错误不会出现,但在 VS2015 下构建时会出现。

【问题讨论】:

  • 您只能在 VS 版本 >= 2010 中以 .NET 4.x 为目标。如果您想以 3.5 为目标,那么您必须使用 VS2008。通过显式使用它或使用 VS2015 中的工具集选项。否则,CRT 中内置的管道不可避免地会产生副作用,这是正确初始化本机 C++ 代码所必需的,目标是 .NET 4。混合是不可能的。
  • 太好了,谢谢 - 如果您将其添加为答案,我会接受。

标签: c# c++-cli clr


【解决方案1】:

我没有发现 dot net 4.0 是 CLR 切换的先决条件,只需在将 C# 项目更新为目标 .Net 4.0 之前相应地检查您的 web.config。

【讨论】:

  • 我们的 C# 项目都没有那个文件,不是吗?我们确实有 app.config - 也许这就是您的想法?
  • 如果它的控制台应用程序是 Program.cs 文件,您可以在其中看到所有框架信息
  • 它们不是控制台应用程序 - 都是库项目。
  • ohkk,那么上面的ans没有用
  • Hans Passant 的评论(关于我的问题,上面)似乎是正确的 - 如果他将其添加为一个,我会接受它作为答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
相关资源
最近更新 更多