我已经安装了VS 2017,并开始使用MSBuild 15构建我的解决方案。我立即注意到我的before.{SolutionName}.sln.targets
文件都没有加载。
我与ProcMon进行了核对,文件已打开并读取,没有错误。但他们的行动都没有成功。
有人面临过这种情况吗?欢迎任何帮助。
编辑1
这是我的文件:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Restore">
<Target Name="Restore" BeforeTargets="Build;Rebuild">
<MSBuild Projects=".nugetNuGet.Targets" Targets="RestoreSolutionPackages" Properties="SolutionFile=..$(MSBuildProjectName);NuGetVerbosity=$(NuGetVerbosity)"/>
</Target>
</Project>
它在VS 2015中工作,但在VS 2017中停止工作。
我发现了问题所在。VS 2017在生成的sln.metaproj文件Restore
中引入了一个新目标,这个目标在before.{SolutionFile}.sln.targets
文件中盖过了我自己的目标。
一旦我将目标重命名为MyRestore
,它就再次起作用了。
浪费了3个小时:-(.