I believe the madisonw answer above is correct, but Luke commented on the use of the DataSet name named in the .rdlc report file for the Datasource.Name property, perhaps it should be emphasized. For me, this was a major bugaboo that prevented my application from working. You can find it by opening the .rdlc file as an XML file using the "Open With ..." command. By default, I think just "DataSet1":
<DataSets> <DataSet Name="DataSet1"> <Fields> <Field Name="BusinessEntityID"> <DataField>BusinessEntityID</DataField> <rd:TypeName>System.Int32</rd:TypeName> </Field>
Another mistake I made did not include the .rdlc file in the Debug (or Release) folder. This was fixed by right-clicking on the .rdlc file in Solution Explorer, then Properties, and then Copy to Output Directory to Copy Always.
After fixing these two parts, my program worked on using ReportViewer in a console application to create a PDF file without an interface.
source share