如何强制msbuild忽略警告MSB8012

时间:2017-05-10 08:32:35

标签: msbuild

我知道这个问题已被讨论了数百次,但我仍然无法找到解决方案。也许在msbuild中有些东西被改变了,我不知道。问题是我得到以下警告

warning MSB8012: TargetPath(d:\src\output\Techd.dll) does not match the Linker's OutputFile 
property value (d:\src\output\Debug32\bin\Techd.dll). This may cause your project to build 
incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and
$(TargetExt) property values match the value specified in %(Link.OutputFile).

我按属性更改outdir

msbuild.wxw /p:OutDir="my_out_dir"

我无法更改项目属性,我不允许修改msbuild目标文件(Microsoft.CppBuild.targets)。因此,不要强迫msbuild忽略此警告或忽略$ OutDir变量的更改。

1 个答案:

答案 0 :(得分:0)

您应该能够使用命令行参数来隐藏MSBuild警告:

msbuild.exe /nowarn:MSB8012

在即将发布的MSBuild / VS2017(15.3)更新中,您可以指定属性来控制项目文件中的MSBuild警告作为属性,这样它也会影响VS中的构建:

<MSBuildWarningsAsMessages>MSB8012</MSBuildWarningsAsMessages>