Found the solution for it.
For windows applications we have to provide the rdlc path using the streams then only report viewer recognize it.
Have to load the rdlc using stream rather than
rv.LocalReport.ReportEmbeddedResource = rPath;
Here is the working code
LocalReport lr = new LocalReport();
ReportViewer rv = new ReportViewer();
DataSet1 expo = new DataSet1();
ReportDataSource rds = new ReportDataSource();
expo.Merge(fDS);
rds.Name = "DataSet1";
rds.Value = expo.Tables["dataPointDS"];
rv.LocalReport.DataSources.Clear();
rv.ProcessingMode = ProcessingMode.Local;
using (StreamReader rdlcSR = new StreamReader(rPath))
{
rv.LocalReport.LoadReportDefinition(rdlcSR);
rv.LocalReport.Refresh();
}
rv.LocalReport.DataSources.Add(rds);
Warning[] warnings;
string[] streamids;
string mimeType = string.Empty;
string encoding = string.Empty;
string extension = string.Empty;
byte[] bytes = rv.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamids, out warnings);
FileStream fs = new FileStream(XLPath + "\\" + fileName.Replace("/", "_") + ".pdf", FileMode.Create, FileAccess.Write);
fs.Write(bytes, 0, bytes.Length);
fs.Close();