它发生在一个复杂的解决方案中,但我可以在一个新的空解决方案中重现它。
我使用调试模式,X86,诊断构建它(ctrl+shift+B
)。
1>设置属性:_InvalidConfigurationMessageText = OutputPath 属性未设置为项目' ConsoleApplication1.vcxproj'。请 检查以确保您指定了有效的组合 该项目的配置和平台。配置='调试' 平台='的Win32&#39 ;. 1 GT;设置属性: _InvalidConfigurationMessageText =没有为项目' ConsoleApplication1.vcxproj'设置OutputPath属性。请检查以确保 您已指定Configuration和的有效组合 这个项目的平台。配置='调试'平台='的Win32&#39 ;. 这个错误也可能出现在其他一些项目试图跟随一个 项目到项目的参考项目,这个项目已经完成了 卸载或未包含在解决方案和引用中 项目不使用相同或等效的配置构建 或平台。
这是我尝试过的。
首先,我的.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>
根据a SO link和another one,我应该在###
插入其中一行: -
<OutputPath>$(Configuration)\$(Platform)\</OutputPath>
<OutputPath>$(SolutionDir)$(Configuration)\</OutputPath>
<OutputPath>bin\$(Platform)\</OutputPath>
与上述相同,但请在<ItemGroup Label="ProjectConfigurations">
删除Label="Configuration"
。
根据another SO link,我还尝试了AnyCPU
或Any CPU
(在更复杂的解决方案中进行了测试,但是一个新的空解决方案并没有。) 。
A Microsoft link声明Output Path
适用于C#
。在C++
中,我必须使用Output Directory
。它是OutDir
。
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<OutDir>$(Configuration)\$(Platform)\</OutDir>
做上述事情,但在属性表中。
做上述事情,还要卸载重装项目,甚至重启VS2017。
在我尝试了每个组合后,警告仍然存在。
程序可以编译并正确运行,
但我相信这是一个在更大的解决方案中进行不必要的重新编译的原因。
问题:如何解决警告/错误?
控制台中的 OutputPath
字是可疑的
我怀疑VS认识到我的解决方案为C#
。 (它甚至可能吗? - 我的测试项目有std::cout
)
由于某些原因,有关此错误的大多数SO问题都与 msbuild 或C#或.net(another one)有关,而不是 C ++ < /强>
组合框中没有这样的Win32
选项,因此我创建了一个新选项
Configuration Manager
&gt; Active solution platform
:<New...>
但是,我仍然收到相同的错误消息。
答案 0 :(得分:0)
你有可疑的平台设置 - x86,将其更改为Win32。
UPD。:所以问题似乎不在于项目,而是安装Visual Studio - 尝试修复/重新安装。
答案 1 :(得分:0)
就我而言,我们将项目从其他系统移出,因此,某些目录指向错误(非默认)路径。
在Solution Explorer
上,右键单击项目名称,选择Unload the project
,然后再次右键单击并选择Edit the xxx.csproj
,最后搜索,检查并修复您的<OutputPath>bin\Debug\</OutputPath>
或{{1} }使用不同的 PropertyGroup 条件。