我知道这个问题已经讨论了数百次,但我仍然找不到解决方案。也许 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 变量的更改。
最佳答案
您应该能够使用命令行参数消除 MSBuild 警告:
msbuild.exe /nowarn:MSB8012
在即将发布的 MSBuild/VS2017 (15.3) 更新中,您可以指定属性来控制项目文件中的 MSBuild 警告作为属性,这样它也会影响 VS 中的构建:
<MSBuildWarningsAsMessages>MSB8012</MSBuildWarningsAsMessages>
关于msbuild - 如何强制 msbuild 忽略警告 MSB8012,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43887320/