【发布时间】: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。混合是不可能的。
-
太好了,谢谢 - 如果您将其添加为答案,我会接受。