From 0d0c1761a5b6e9b33057e131dcf2b74161b5e22c Mon Sep 17 00:00:00 2001 From: "Emeka-NMC (SII)" Date: Mon, 6 Jul 2020 03:54:55 -0700 Subject: [PATCH] **Problem:** * C#/msbuild incremental builds are broken. * Grpc prebuilt binaries are always copied to output. **Solution:** * Change from `Always` to `PreserveNewest`; i.e. only copy if binaries are older. **Repro:** * Setup: * Create a CSPROJ (e.g. in Visual Studio 2019). * Add Grpc NuGet package (at least version 2.29.0). * Build CSPROJ. * Rebuild CSPROJ. * Observation: * Rebuild results in regeneration CSPROJ output. * Expected: * output should not be rebuilt; i.e. without change to sources. **Side Notes:** * Not sure if new updates are being shipped for mono. * Similar issue exists in the mono build. * Fixed it anyway. --- .../Grpc.Core/build/MonoAndroid10/Grpc.Core.targets | 6 +++--- src/csharp/Grpc.Core/build/net45/Grpc.Core.targets | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/csharp/Grpc.Core/build/MonoAndroid10/Grpc.Core.targets b/src/csharp/Grpc.Core/build/MonoAndroid10/Grpc.Core.targets index 250d3bd0cd6..d923999c2b8 100644 --- a/src/csharp/Grpc.Core/build/MonoAndroid10/Grpc.Core.targets +++ b/src/csharp/Grpc.Core/build/MonoAndroid10/Grpc.Core.targets @@ -3,21 +3,21 @@ - Always + PreserveNewest arm64-v8a - Always + PreserveNewest armeabi-v7a - Always + PreserveNewest x86 diff --git a/src/csharp/Grpc.Core/build/net45/Grpc.Core.targets b/src/csharp/Grpc.Core/build/net45/Grpc.Core.targets index 3324e8eb4e5..1b0c6f07270 100644 --- a/src/csharp/Grpc.Core/build/net45/Grpc.Core.targets +++ b/src/csharp/Grpc.Core/build/net45/Grpc.Core.targets @@ -11,32 +11,32 @@ --> - Always + PreserveNewest grpc_csharp_ext.x86.dll false - Always + PreserveNewest grpc_csharp_ext.x64.dll false - Always + PreserveNewest libgrpc_csharp_ext.x86.so false - Always + PreserveNewest libgrpc_csharp_ext.x64.so false - Always + PreserveNewest libgrpc_csharp_ext.x86.dylib false - Always + PreserveNewest libgrpc_csharp_ext.x64.dylib false