title: Does the WinForms ReportViewer have additional deployment dependencies in .NET 4.0?
body: <p>I recently updated a WinForms app from .NET 3.5 to .NET 4.0 that contains local reports. I include the version 11.0 assemblies for <code>Microsoft.ReportViewer.WinForms</code>, <code>Microsoft.ReportViewer.Common</code>, and <code>Microsoft.ReportViewer.ProcessingObjectModel</code> in the application directory, which is all it took to deploy this app using .NET 3.5, but I get the following error on a target machine with .NET 4.0 but no VisualStudio or SQL Server:</p>
  
  <pre><code>TYPE: Microsoft.Reporting.WinForms.LocalProcessingException
  MSG: An error occurred during local report processing.
  SOURCE: Microsoft.ReportViewer.WinForms
  SITE: EnsureExecutionSession
     at Microsoft.Reporting.WinForms.LocalReport.EnsureExecutionSession()
     at Microsoft.Reporting.WinForms.LocalReport.SetParameters(IEnumerable`1 parameters)
     at Ceoimage.Basecamp.MaintainDocumentIntegrity.ReportContainer._SetReportParameters(String departmentName, String footer)
     at Ceoimage.Basecamp.MaintainDocumentIntegrity.ReportContainer._RefreshReport(DataTable sourceTable, String sourceName, String reportResourceName, String departmentName, String footer)
     at Ceoimage.Basecamp.MaintainDocumentIntegrity.ReportContainer.ShowMissingReport(MissingFilesDataTable missingTable, String departmentName, String footer)
     at Ceoimage.Basecamp.MaintainDocumentIntegrity.DocumentIntegrityForm._HandleMissingComplete(Object sender, RunWorkerCompletedEventArgs e)
  
  -- INNER EXCEPTION --
  TYPE: Microsoft.Reporting.DefinitionInvalidException
  MSG: The definition of the report '' is invalid.
  SOURCE: Microsoft.ReportViewer.Common
  SITE: CompileReport
     at Microsoft.Reporting.ReportCompiler.CompileReport(ICatalogItemContext context, Byte[] reportDefinition, Boolean generateExpressionHostWithRefusedPermissions, ControlSnapshot&amp; snapshot)
     at Microsoft.Reporting.LocalService.GetCompiledReport(PreviewItemContext itemContext, Boolean rebuild, ControlSnapshot&amp; snapshot)
     at Microsoft.Reporting.LocalService.CompileReport()
     at Microsoft.Reporting.LocalService.Microsoft.Reporting.ILocalProcessingHost.CompileReport()
     at Microsoft.Reporting.WinForms.LocalReport.EnsureExecutionSession()
  
  -- INNER EXCEPTION --
  TYPE: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException
  MSG: An unexpected error occurred in Report Processing.
  SOURCE: Microsoft.ReportViewer.Common
  SITE: CreateIntermediateFormat
     at Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext, IDataProtection dataProtection)
     at Microsoft.Reporting.ReportCompiler.CompileReport(ICatalogItemContext context, Byte[] reportDefinition, Boolean generateExpressionHostWithRefusedPermissions, ControlSnapshot&amp; snapshot)
  
  -- INNER EXCEPTION --
  TYPE: System.IO.FileNotFoundException
  MSG: Could not load file or assembly 'Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
  SOURCE: Microsoft.ReportViewer.Common
  SITE: Write
  FILE: Microsoft.SqlServer.Types, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
     at Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.IntermediateFormatWriter.Write(Object obj, Boolean verify, Boolean assertOnInvalidType)
     at Microsoft.ReportingServices.ReportIntermediateFormat.ExpressionInfo.Serialize(IntermediateFormatWriter writer)
     at Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.IntermediateFormatWriter.Write(IPersistable persistableObj, Boolean verify)
     at Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.IntermediateFormatWriter.WriteVariantOrPersistable(Object obj)
     at Microsoft.ReportingServices.ReportPublishing.ReportPublishing.CreateHashForCachedDataSets()
     at Microsoft.ReportingServices.ReportPublishing.ReportPublishing.InternalCreateIntermediateFormat(Stream definitionStream, String&amp; description, String&amp; language, ParameterInfoCollection&amp; parameters, DataSourceInfoCollection&amp; dataSources, DataSetInfoCollection&amp; sharedDataSetReferences, UserLocationFlags&amp; userReferenceLocation, ArrayList&amp; dataSetsName, Boolean&amp; hasExternalImages, Boolean&amp; hasHyperlinks, Byte[]&amp; dataSetsHash)
     at Microsoft.ReportingServices.ReportPublishing.ReportPublishing.CreateIntermediateFormat(Byte[] definition, String&amp; description, String&amp; language, ParameterInfoCollection&amp; parameters, DataSourceInfoCollection&amp; dataSources, DataSetInfoCollection&amp; sharedDataSetReferences, UserLocationFlags&amp; userReferenceLocation, ArrayList&amp; dataSetsName, Boolean&amp; hasExternalImages, Boolean&amp; hasHyperlinks, Byte[]&amp; dataSetsHash)
     at Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileOdpReport(PublishingContext reportPublishingContext, IDataProtection dataProtection, PublishingErrorContext errorContext, String&amp; reportDescription, String&amp; reportLanguage, ParameterInfoCollection&amp; parameters, DataSourceInfoCollection&amp; dataSources, DataSetInfoCollection&amp; sharedDataSetReferences, UserLocationFlags&amp; userReferenceLocation, ArrayList&amp; dataSetsName, Boolean&amp; hasExternalImages, Boolean&amp; hasHyperlinks, Byte[]&amp; dataSetsHash)
     at Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext, IDataProtection dataProtection)
  </code></pre>
  
  <p>I tried running the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=35747" rel="noreferrer">Report Viewer 2012 Redistributable</a>, but it too complains about <code>Microsoft.SqlServer.Types</code>. I do not understand why I have this new dependency even though this is a local report. The code does not use any advanced data types or anything beyond what it uses in the .NET 3.5 version that requires only those three <code>Microsoft.ReportViewer.*</code> assemblies. Can someone give me a finite list of requirements for deploying a .NET 4.0 app with Report Viewer?</p>