CMake制造的VS2010解决方案中的C#项目必须卸载/重新加载,以避免被跳过

CMake制造的VS2010解决方案中的C#项目必须卸载/重新加载,以避免被跳过,c#,visual-studio-2010,cmake,C#,Visual Studio 2010,Cmake,我正在使用CMake生成一个VS2010解决方案,其中包含两个C/C++项目:本机控制台应用程序、静态库和本机DLL;和C#项目:托管控制台应用程序和托管DLL。 我正在将CMake与包含外部项目>/code>+配置文件技术一起使用,如所述 然而,最终的解决方案总是跳过C#项目的构建过程。 接下来,如果我先“卸载项目”,然后“重新加载项目”,则项目现在可以正常生成。 每次使用CMake“生成”解决方案时,我都必须这样做 为什么会发生这种情况? 有没有办法避免这种情况 这里也有同样的问题 我们的c

我正在使用CMake生成一个VS2010解决方案,其中包含两个C/C++项目:本机控制台应用程序、静态库和本机DLL;和C#项目:托管控制台应用程序和托管DLL。
我正在将CMake与
包含外部项目>/code>+
配置文件
技术一起使用,如所述

然而,最终的解决方案总是跳过C#项目的构建过程。
接下来,如果我先“卸载项目”,然后“重新加载项目”,则项目现在可以正常生成。
每次使用CMake“生成”解决方案时,我都必须这样做

为什么会发生这种情况?

有没有办法避免这种情况

这里也有同样的问题

我们的cmake生成的解决方案为Win32和x64平台创建了配置,而外部C#项目有x86和x64平台。cmake生成解决方案后,所有项目(内部和外部)都设置为使用平台Win32。(请检查解决方案配置管理器。)

要强制cmake将外部项目包括为x86,请在调用include_external_msproject时指定平台参数

include_external_msproject(TestApp "/TestApp/TestApp.csproj" PLATFORM x86)

(当然,请确保您只对x86版本执行此操作…

重新加载后是否更改了项目和解决方案文件,是否可以进行文件比较以查看更改了什么?是的,重新加载会更改
.sln
文件。除了向
GlobalSection(ProjectConfigurationPlatforms)
添加
Mixed Platforms
行之外,在执行全部重建时是否跳过该行?或者只是一个普通的版本?任何版本。事实上,即使在构建之前,如果我将其设置为启动项目,“启动调试”和“启动而不调试”按钮也会变灰。