Visual studio 2013 如何修复MSB8029:在VS2013中,中间目录或输出目录不能位于临时目录下

Visual studio 2013 如何修复MSB8029:在VS2013中,中间目录或输出目录不能位于临时目录下,visual-studio-2013,Visual Studio 2013,VisualStudio每次编译都会抱怨 警告MSB8029:中间目录或输出目录不能位于临时目录下,因为它可能导致增量生成问题。 我检查了项目并更改了输出目录和中间目录,但我仍然得到了解决方案中每个项目的消息 如何解决这个问题?我找到了答案-我缺少环境变量。添加它们并重新启动后,问题消失了 如何为Windows 7修复它 确保中间目录和输出目录不位于临时目录下!如果问题仍然存在,请执行以下操作: 转到环境变量(开始->计算机->右键单击->属性->高级系统设置->选项卡高级->环境变量) 添加到

VisualStudio每次编译都会抱怨
警告MSB8029:中间目录或输出目录不能位于临时目录下,因为它可能导致增量生成问题。

我检查了项目并更改了输出目录和中间目录,但我仍然得到了解决方案中每个项目的消息


如何解决这个问题?

我找到了答案-我缺少环境变量。添加它们并重新启动后,问题消失了

如何为Windows 7修复它

  • 确保中间目录和输出目录不位于临时目录下!如果问题仍然存在,请执行以下操作:
  • 转到环境变量(开始->计算机->右键单击->属性->高级系统设置->选项卡高级->环境变量)
  • 添加到用户变量变量名称:TEMP,变量值:%APPDATA%\Local\TEMP
  • 添加到用户变量变量名称:TMP,变量值:%APPDATA%\Local\Temp
  • 添加到系统变量变量名称:TEMP,变量值:C:\Windows\TEMP
  • 添加到系统变量变量名称:TMP,变量值:C:\Windows\Temp
  • 重新启动

  • 这是一个真正无用的信息警告。我认为将所有中间文件直接放到临时文件夹是一个很好的主意。至少在C++方面,

    该警告是由于VS2017
    Microsoft.CppBuild.targets
    (395)中的设置引起的:


    对于那些使用VS 2019(可能是后者)遇到此问题的人。 (它与TEMP环境变量无关)。
    VS 2019不支持用户设置,您应该使用项目设置禁用警告。 知道MSBuild也会对环境中的属性求值,所以可以定义与MSBuild属性同名的环境变量。在要禁用警告的会话中创建以下属性
    set IgnoreWarnIntDirInTempDetected=true

    然后开始构建

    <VCMessage Code="MSB8029" Type="Warning" Condition="'$(DesignTimeBuild)'!='true' and '$(IgnoreWarnIntDirInTempDetected)' != 'true' and ('$(_IntDirFullpath.StartsWith($(Tmp), true, null))' == 'true' or '$(_IntDirFullpath.StartsWith($(Temp), true, null))' == 'true' or '$(_OutDirFullpath.StartsWith($(Tmp), true, null))' == 'true' or '$(_OutDirFullpath.StartsWith($(Temp), true, null))' == 'true')"/>
    
    %LOCALAPPDATA%\Microsoft\MSBuild\v4.0