Azure devops VSTS Visual Studio生成任务不是增量的;不断重建
VSTS msbuild任务似乎一直在执行Azure devops VSTS Visual Studio生成任务不是增量的;不断重建,azure-devops,azure-pipelines,azure-pipelines-build-task,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,VSTS msbuild任务似乎一直在执行CoreCompile,尽管Clean选项被禁用,并且源文件未被触及(源获取中未发生任何更改) 然而,当我在本地或直接在生成计算机上运行msbuild时,它的行为与预期的一样——所有未修改的项目都不会重新生成CoreCompile未运行csc.exe我发现这是因为MSBuild生成并以静默方式注入到编译中的“TargetFrameworkMoniker”文件被写入临时目录,即运行System.IO.Path.GetTempPath()时得到的文件 然而,
CoreCompile
,尽管Clean
选项被禁用,并且源文件未被触及(源获取中未发生任何更改)
然而,当我在本地或直接在生成计算机上运行
msbuild
时,它的行为与预期的一样——所有未修改的项目都不会重新生成CoreCompile
未运行csc.exe
我发现这是因为MSBuild生成并以静默方式注入到编译中的“TargetFrameworkMoniker”文件被写入临时目录,即运行System.IO.Path.GetTempPath()
时得到的文件
然而,VSTS代理指定他们自己的临时目录(\u temp
),并且似乎在每次构建之后都会清除它。这似乎是一个好的行为——应该由MSBuild来修复它(IMO)
如果您的项目使用混合框架,则可能无法快速修复此问题,即添加此MSBuild选项:
/p:TargetFrameworkMonikerAssemblyAttributesPath=$(Build.Repository.LocalPath)\temp.moniker.cs
或者,您可以通过以下方式禁用文件生成:
/p:GenerateTargetFrameworkAttribute=False