Description
The new CopyRefAssembly task has logic to determine whether a reference assembly is logically identical by comparing MVIDs of the source and destination files. If the MVIDs do not match, it copies the source assembly to the destination path.
As currently implemented, this copy doesn't have all of the bells and whistles of the Copy task, which supports retries and special-cases a number of scenarios.
CopyRefAssembly could inherit from Copy, override Execute(), do its up-to-date checks, and then after deciding to copy, forward to base.Execute() to get all of the additional magic.
This came up when discussing https://github.com/Microsoft/msbuild/issues/1986 with @jeffkl.
@jcouv -- something to think about. Doesn't block the initial implementation, since no MSBuild change would be required to pick this up.