我知道这个问题已经被讨论了数百次,但我仍然找不到解决方案。也许 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).
Run Code Online (Sandbox Code Playgroud)
我通过属性更改 outdir
msbuild.wxw /p:OutDir="my_out_dir"
Run Code Online (Sandbox Code Playgroud)
我无法更改项目属性,也不允许修改 msbuild 目标文件 (Microsoft.CppBuild.targets)。因此,没有任何想法强制 msbuild 忽略此警告或忽略 $OutDir 变量的更改。
您应该能够使用命令行参数来消除 MSBuild 警告:
msbuild.exe /nowarn:MSB8012
Run Code Online (Sandbox Code Playgroud)
在即将发布的 MSBuild/VS2017 (15.3) 更新中,您可以指定属性来控制项目文件中的 MSBuild 警告作为属性,这样它也会影响 VS 中的构建:
<MSBuildWarningsAsMessages>MSB8012</MSBuildWarningsAsMessages>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2870 次 |
| 最近记录: |