Change the maximum attachment size for work items

TFS 2017 | TFS 2015


This topic applies to team project customization for the On-premises XML process model.

For an overview of process models, see Customize your work tracking experience.

By default, Team Foundation Server (TFS) limits the size of work item attachments to 4 MB. For on-premises deployments, you can use the TFS web service to increase the size of files you attach to up to 2GB.

  1. If you're not a member of the TFS Administrators group, get added as one.

  2. Log on to the application-tier server for TFS.

  3. In a supported web browser, open the following URL:


    If the team project resides on a different project collection, specify the name of the collection in place of DefaultCollection.

  4. Enter the size in bytes, and then choose Invoke.

    SetMaxAttachmentSize, ConfigurationSettingsService

    The maximum size you can specify is 2 gigabytes (or 2000000000).

Alternative solutions to increasing the attachment size

Increasing the attachment size increases the amount of data in storage and the time it takes to save a work item. To work around the size limit, add the attachment to source control and add a link in the work item to the source control file using the Versioned Item link type.

Review FIPS

Have been validated the FIPS service is causing exceptions, you need to disable the FIPS service in order to avoid the exception

FIPS Documentation

`Application: csc.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.InvalidOperationException at System.Security.Cryptography.SHA256Managed..ctor()

Exception Info: System.Reflection.TargetInvocationException at System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean) at System.Reflection.RuntimeConstructorInfo.Invoke(System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) at System.Security.Cryptography.CryptoConfig.CreateFromName(System.String, System.Object[]) at System.Security.Cryptography.SHA256.Create() at Microsoft.CodeAnalysis.CommandLine.DesktopBuildClient.GetBasePipeName(System.String) at Microsoft.CodeAnalysis.CommandLine.DesktopBuildClient.GetPipeNameForPath(System.String) at Microsoft.CodeAnalysis.CommandLine.DesktopBuildClient.GetSessionKey(Microsoft.CodeAnalysis.CommandLine.BuildPaths) at Microsoft.CodeAnalysis.CommandLine.BuildClient.RunCompilation(System.Collections.Generic.IEnumerable1<System.String>, Microsoft.CodeAnalysis.CommandLine.BuildPaths, System.IO.TextWriter) at Microsoft.CodeAnalysis.CommandLine.DesktopBuildClient.Run(System.Collections.Generic.IEnumerable1<System.String>, System.Collections.Generic.IEnumerable1<System.String>, Microsoft.CodeAnalysis.CommandLine.RequestLanguage, Microsoft.CodeAnalysis.CommandLine.CompileFunc, Microsoft.CodeAnalysis.IAnalyzerAssemblyLoader) at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main(System.String[], System.String[]) at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main(System.String[])