Search code examples
c#spire.doc

CS0012 C# The type 'HttpContext' is defined in an assembly that is not referenced


I have this code to Merge documents to .PDF using Spire but i get the following code in this line result.Save(outputFile,Spire.Pdf.FileFormat.PDF);

CS0012 C# The type 'HttpContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

I tried to add this Assembly code to App.config file but no luck.

<assemblies>
        <add assembly="MyAssembly" Version="4.0.0.0" Culture="neutral" PublicKeyToken="b03f5f7f11d50a3a"/>   

Here is the code below

private void button1_Click(object sender, EventArgs e)
        {

            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "All files (*.docx, *.pdf, *.pptx, *.pdf)| *.docx; *.pdf; *.pptx; *.xlsx";

            ofd.Multiselect = true;

            if (DialogResult.OK == ofd.ShowDialog())
            {

                string[] files = ofd.FileNames;

                listBox1.Items.AddRange(files);
            }

    }

        private void button2_Click(object sender, EventArgs e)
        {
            string ext = string.Empty;
            List<Stream> filesStreams = new List<Stream>();
            MemoryStream ms1 = new MemoryStream();
            MemoryStream ms2 = new MemoryStream();
            MemoryStream ms3 = new MemoryStream();
            foreach (object item in listBox1.Items)
            {
                ext = Path.GetExtension(item.ToString());
                switch (ext)
                {
                    case ".docx":
                        Document doc = new Document(item.ToString());
                        doc.SaveToStream(ms1, Spire.Doc.FileFormat.PDF);
                        filesStreams.Add(ms1);

                        break;
                    case ".pdf":
                        filesStreams.Add(File.OpenRead(item.ToString()));
                        break;
                    case ".pptx":
                        Presentation ppt = new Presentation(item.ToString(), Spire.Presentation.FileFormat.Auto);
                        ppt.SaveToFile(ms2, Spire.Presentation.FileFormat.PDF);
                        filesStreams.Add(ms2);

                        break;
                    case ".xlsx":
                        Workbook xls = new Workbook();
                        xls.LoadFromFile(item.ToString());
                        xls.SaveToStream(ms3, Spire.Xls.FileFormat.PDF);
                        filesStreams.Add(ms3);

                        break;
                    default:
                        break;

                }
            }
            string outputFile = "result.doc";
            PdfDocumentBase result = PdfDocument.MergeFiles(filesStreams.ToArray());
            //result.SaveToDoc(outputFile);
            result.Save(outputFile,Spire.Pdf.FileFormat.PDF);
            ms1.Close();
            ms2.Close();
            ms3.Close();

    }

Thank you


Solution

  • Add reference of System.Web library by right clicking the project in Solution Explorer window and then clicking Add Reference option from the context menu.

    The above action will open up the Add Reference Dialog and from the .Net Tab, you need to choose System.Web library and click OK.