警告 MSB8012
我已经阅读了很多人询问这个错误的答案,但他们似乎都没有遇到像我这样的问题。我试图在我的项目中使用属性表来节省每次都必须设置属性设置,反过来我在构建时得到了这个:
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(989,5): warning MSB8012: TargetPath(C:\MyProj\Release\MyProj.dll) does not match the Linker's OutputFile property value (). 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).
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetExt(.dll) does not match the Linker's OutputFile property value (). 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).
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(991,5): warning MSB8012: TargetName(MyProj) does not match the Linker's OutputFile property value (). 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).
如果我所要做的只是更改链接器的 OutputFile 属性值,那会很容易,但是正如您所看到的,它Linker's OutputFile property value ()
每次都说(OutputFile 值为 null?),这有点不同,$(OutDir)$(TargetName)$(TargetExt)
我将其设置为...
我在属性表中配置的唯一内容是一些调试设置、一些优化设置、添加构建后事件和禁用 unicode。这就是我所需要的,但这个问题现在卡在项目中,即使我删除了属性表。我根本没有从以前版本的 Visual Studio 转换项目,就像许多收到此警告的人一样,只是尝试添加和配置属性表。
以下是一些相关设置:
常规->输出目录:$(SolutionDir)$(Configuration)\
常规->目标名称:$(ProjectName)
常规->目标扩展:.dll
链接器->输出文件:$(OutDir)$(TargetName)$(TargetExt)
起初我只是想忽略这个警告,但它实际上开始引起问题,所以如果有人能弄清楚这个 MS 谜题,我将不胜感激。