Suppose you added InvoiceRpt.RPT to your project InvoiceRpt oMyReport = new InvoiceRpt();Now you can access the report object...and I'm pretty certain you don't need to distribute the RPT. (When you add the RPT to the project, .NET generates a CS file and other resource info for you). I believe you only need to distribute the RPT if you're using the load method to load it manually.