未为项目设置OutputPath属性(C ++,空白新解决方案,VS2017)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未为项目设置OutputPath属性(C ++,空白新解决方案,VS2017)相关的知识,希望对你有一定的参考价值。

它发生在复杂的解决方案中,但我可以在一个新的空解决方案中重现它。

我用调试模式,X86,诊断来构建它(ctrl+shift+B)。 enter image description here

1>设置属性:_InvalidConfigurationMessageText =没有为项目'ConsoleApplication1.vcxproj'设置OutputPath属性。请检查以确保您为此项目指定了Configuration和Platform的有效组合。 Configuration ='Debug'Blatform ='Win32'。 1>设置属性:_InvalidConfigurationMessageText =没有为项目'ConsoleApplication1.vcxproj'设置OutputPath属性。请检查以确保您为此项目指定了Configuration和Platform的有效组合。 Configuration ='Debug'Blatform ='Win32'。此错误也可能出现在某个其他项目中,试图遵循项目到项目的对此项目的引用,此项目已卸载或未包含在解决方案中,并且引用项目不使用相同或等效项目构建配置或平台。

enter image description here ^我确保没有任何References它声称。

这是我尝试过的。

首先,我的.vcxprojlink 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>
  1. 根据a SO linkanother one,我应该在###插入其中一条线: - <OutputPath>$(Configuration)$(Platform)</OutputPath> <OutputPath>$(SolutionDir)$(Configuration)</OutputPath> <OutputPath>bin$(Platform)</OutputPath>
  2. 与上面相同,但在<ItemGroup Label="ProjectConfigurations">中添加它
  3. 删除Label="Configuration"
  4. 根据another SO link,我也尝试了AnyCPUAny CPU(在一个更复杂的解决方案中测试,但是一个新的空解决方案没有它。)。
  5. A Microsoft link声称Output Path是为了C#。在C++,我必须使用Output Directory。这是OutDir<OutDir>$(SolutionDir)$(Configuration)</OutDir> <OutDir>$(Configuration)$(Platform)</OutDir>
  6. 做上面的事情,但在财产表中。
  7. 做上面的事情,还要卸载重装项目,甚至重启VS2017。

在我尝试了每个组合之后,警告仍然存在。

该程序可以编译和正确运行, 但我认为这是在更大的解决方案中进行不必要的重新编译的原因。

问题:如何解决警告/错误?

控制台中的OutputPath字是可疑的。 我怀疑VS认识到我的解决方案是C#。 (它甚至可能吗? - 我的测试项目有std::cout

由于某些原因,关于此错误的大多数SO问题都与msbuild或C#.netanother one)有关,而不是C ++。

答复

组合框中没有这样的Win32选项,所以我创建了一个新选项。 Configuration Manager> Active solution platform<New...>

我也确保设置正确: - enter image description here

但是,我仍然收到相同的错误消息。

答案

你有可疑的平台设置 - x86,将其更改为Win32。

UPD。:所以问题似乎不在于项目,而是安装Visual Studio - 尝试修复/重新安装它。

以上是关于未为项目设置OutputPath属性(C ++,空白新解决方案,VS2017)的主要内容,如果未能解决你的问题,请参考以下文章

赵老师_01

Visual Studio 2010 编译器选项

Visual Studio2010编译C语言,怎么设置

VS2013无调试信息

为啥 C# 6.0 在使用 Null 传播运算符时不允许设置非 null 可空结构的属性?

为啥 C# 6.0 在使用 Null 传播运算符时不允许设置非 null 可空结构的属性?