它发生在复杂的解决方案中,但我可以在一个新的空解决方案中重现它。
我用调试模式,X86,诊断来构建它(ctrl+shift+B
)。
1>设置属性:_InvalidConfigurationMessageText =没有为项目'ConsoleApplication1.vcxproj'设置OutputPath属性。请检查以确保您为此项目指定了Configuration和Platform的有效组合。 Configuration ='Debug'Blatform ='Win32'。 1>设置属性:_InvalidConfigurationMessageText =没有为项目'ConsoleApplication1.vcxproj'设置OutputPath属性。请检查以确保您为此项目指定了Configuration和Platform的有效组合。 Configuration ='Debug'Blatform ='Win32'。此错误也可能出现在某个其他项目中,试图遵循项目到项目的对此项目的引用,此项目已卸载或未包含在解决方案中,并且引用项目不使用相同或等效项目构建配置或平台。
这是我尝试过的。
首先,我的.vcxproj
(link to the full file)的一部分看起来像这样: -
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
### I will insert something here ###
</PropertyGroup>
###
插入其中一条线: -
<OutputPath>$(Configuration)\$(Platform)\</OutputPath>
<OutputPath>$(SolutionDir)$(Configuration)\</OutputPath>
<OutputPath>bin\$(Platform)\</OutputPath>
<ItemGroup Label="ProjectConfigurations">
中添加它Label="Configuration"
。AnyCPU
或Any CPU
(在一个更复杂的解决方案中测试,但是一个新的空解决方案没有它。)。Output Path
是为了C#
。在C++
,我必须使用Output Directory
。这是OutDir
。
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<OutDir>$(Configuration)\$(Platform)\</OutDir>
在我尝试了每个组合之后,警告仍然存在。
该程序可以编译和正确运行, 但我认为这是在更大的解决方案中进行不必要的重新编译的原因。
问题:如何解决警告/错误?
控制台中的OutputPath
字是可疑的。
我怀疑VS认识到我的解决方案是C#
。 (它甚至可能吗? - 我的测试项目有std::cout
)
由于某些原因,关于此错误的大多数SO问题都与msbuild或C#或.net(another one)有关,而不是C ++。
组合框中没有这样的Win32
选项,所以我创建了一个新选项。
Configuration Manager
> Active solution platform
:<New...>
但是,我仍然收到相同的错误消息。
你有可疑的平台设置 - x86,将其更改为Win32。
UPD。:所以问题似乎不在于项目,而是安装Visual Studio - 尝试修复/重新安装它。