C++ cli 是否可以在Visual Studio 2015 C+中以.NET4.0为目标+/CLI项目?

C++ cli 是否可以在Visual Studio 2015 C+中以.NET4.0为目标+/CLI项目?,c++-cli,visual-studio-2015,C++ Cli,Visual Studio 2015,我最近安装了VS2015。耶\o/ 但是,从VS2013升级时,我的一个C++/CLI项目显示了以下消息: 下面的项目使用Visual C++编译器和库的早期版本。该项目将升级为使用Microsoft Visual Studio 2015编译器和库任何使用C++/CLI扩展的托管或本机代码项目都将自动升级到目标.NET Framework 4.5.2。注意:如果不升级项目,生成项目将需要安装相应版本的Visual Studio 我同意警告,但现在以前在VS2013中编译的代码不再编译,例如: v

我最近安装了VS2015。耶\o/

但是,从VS2013升级时,我的一个C++/CLI项目显示了以下消息:

下面的项目使用Visual C++编译器和库的早期版本。该项目将升级为使用Microsoft Visual Studio 2015编译器和库任何使用C++/CLI扩展的托管或本机代码项目都将自动升级到目标.NET Framework 4.5.2。注意:如果不升级项目,生成项目将需要安装相应版本的Visual Studio

我同意警告,但现在以前在VS2013中编译的代码不再编译,例如:

void WritePixels(array<unsigned int> ^ rgbaData);
void WritePixels(数组^rgbaData);
有错误吗

“std::array”:模板参数太少
“^”:无法对类型“std::array”使用此间接寻址

此外,项目属性不允许我切换目标.NET framework版本(该版本为灰色)


C++/CLI项目是否可以使用Visual Studio 2015以.NET 4.0为目标?自Visual Studio 2013以来,C++/CLI中是否有我需要了解的语法更改

这只是为了子孙后代的更新

我通过解决方法解决了这个问题,根本不使用C++/CLI,而是使用了令人惊叹的、适应性强的库

无C++/CLI=无.NET Framework版本问题,无x64/86位和.NET任何CPU问题


问题解决了

您知道
使用名称空间std不好,是吗?:-)Microsoft不希望为C++/CLI项目支持多目标。在一些非常糟糕的情况下,编译器会使用错误的引用程序集,#using指令是一个问题。它是否在你的心里是不可能知道的。您可以手动编辑.vcxproj文件并更改
。但这与编译错误没有任何关系,您在某个地方有一个
#include
,还有一个
使用名称空间std。当然可以修复,如果有必要,请键入
cli::array
以消除歧义。感谢您的评论,我将再次检查vcxproj,看看我们能做些什么!现在,回到VS2013,这是一个耻辱,因为2015年是非常闪亮的!我想我犯了很多错误。其中一个是一个缺少某些C++文件的VPN错误,这意味着什么都不能编译。第二个是,是的,我有一个使用名称空间std;愚蠢的我:)第三个是C++/CLI项目中的平台目标-仍在进行这项工作。如果我能解决所有问题,我们将使用2015年。谢谢你的帮助!!:)我已经基于VS 2015目标.NET 4.0构建了一个大型C++/CLI代码。一切似乎都很顺利。NET3.5似乎在构建,但随后给出了模糊的链接错误。我试着问过MS,这里有一个例子,但他们似乎并不热衷!