我有一个包含C#和托管C++项目的解决方案。该解决方案可以在x64和x86平台下编译。由于使用了托管C++,我想创建一个“任何CPU”解决方案,并摆脱旧解决方案。
我将C++项目链接器设置更改为对x64和x86都强制启用安全IL镜像。
接下来,使用“配置管理器”,我创建了一个名为“Any CPU”的新解决方案平台。然后我也添加了一个名为“Any CPU”的项目平台。
我继续将所有C#项目设置为'Any CPU',但是对于C++项目,我无法这样做。项目平台“Any CPU”不在下拉菜单中,并且也没有选项'New...'。
Visual Studio对此非常坚定,因此我将其保持不变并开始构建。令我惊讶的是,生成的DLL(来自C++项目)是MSIL,即使C++的平台是x64。编译x32时,结果DLL也是MSIL。
为什么? 为什么我不能将C++项目设置为“任何CPU”?
我将C++项目链接器设置更改为对x64和x86都强制启用安全IL镜像。
接下来,使用“配置管理器”,我创建了一个名为“Any CPU”的新解决方案平台。然后我也添加了一个名为“Any CPU”的项目平台。
我继续将所有C#项目设置为'Any CPU',但是对于C++项目,我无法这样做。项目平台“Any CPU”不在下拉菜单中,并且也没有选项'New...'。
Visual Studio对此非常坚定,因此我将其保持不变并开始构建。令我惊讶的是,生成的DLL(来自C++项目)是MSIL,即使C++的平台是x64。编译x32时,结果DLL也是MSIL。
为什么? 为什么我不能将C++项目设置为“任何CPU”?