Difference between 1 succeeded and 1 succeeded or up-to-date in c#

Build: 1 succeeded in general refer to successful compilation of the solution with 1 project in it.

while

Build: 1 succeeded or up-to-date means that codes in the project within your solution has not changed, hence compilation was not needed. Hence, 1 Build Success or up-to-date


It means nothing has changed in the project. VS (well MSBUILD really), decides if it's up to date as follows:

From: How does MSBuild decide whether it needs to rebuild a C# library or not?

If you look in Microsoft.CSharp.targets (the msbuild file for compiling C# projects) the CoreCompile target has a set of Inputs and Outputs defined. These are used to do the dependency checking to see if CoreCompile needs to run. The list of inputs include the c# files, resource files, application icon, strong name key file, and other custom inputs you can define.

If you have a solution and run msbuild on it with diagnostic logging enabled (/v:diag command line parameter), you might see this message if the outputs are up to date:

Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files.

The targets file is located in the .NET Framework directory (c:\windows\Microsoft.NET\Framework\v3.5 or v4.0.30319.