Could not load file or assembly 'itextsharp' or one of its dependencies

29.2k Views Asked by At

Trying to follow this tutorial for RazorPDF, and I don't know why am I getting the following error message: Very frustrated and tired.

Error Message:

Could not load file or assembly 'itextsharp' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

itextsharp:

RunTimeVersion: v1.1.4322 Version: 4.1.2.0

RazorPDF:

Run Time version: 4.0.30319

Inside the controller:

   public ActionResult Index()
    {
        var studentMarks = new List<MarksCard>()
        {
           new MarksCard()
            {
                RollNo = 101, Subject = "C#",
                FullMarks = 100, Obtained = 90},new MarksCard() {RollNo = 101, Subject = "asp.net", FullMarks = 100, Obtained = 80},new MarksCard() {RollNo =               101, Subject = "MVC", FullMarks = 100,
                Obtained = 100},new MarksCard() {RollNo = 101, Subject = "SQL Server", FullMarks = 100, Obtained = 75},
        };
       //// return new RazorPDF.PdfResult(studentMarks, "Index");
        return View(studentMarks);

    }

Inside View

@model IEnumerable<TimberBeamCalculator.Models.MarksCard>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.RollNo)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Subject)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.FullMarks)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Obtained)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.RollNo)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Subject)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.FullMarks)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Obtained)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
            @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
            @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
        </td>
    </tr>
}

</table>
6

There are 6 best solutions below

3
On BEST ANSWER

Check to be sure that you actually have iTextSharp going into the correct place. My guess is you are missing something.

I'd strongly suggest you start by following the initial project samples and trying to get them to work first.

0
On

And then compile it against the latest LGPL source code of iTextSharp. This way you can change the in use target framework version as well.

P.S. RazorPdf uses HTMLWorker of iTextSharp. It's deprecated and won't be supported anymore. It has a very limited HTML to PDF capabilities. they have replaced it with XMLWorker lately: http://sourceforge.net/projects/itextsharp/files/xmlworker/

0
On

Add referance path to .csproj you use itextsharp or referanced dll

<Reference Include="iTextSharp, Version=4.1.6.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca">
  <HintPath>..packages\iTextSharp-LGPL.4.1.6\lib\iTextSharp.dll</HintPath>
</Reference>
0
On

I got same error while web developing in Visual Studio. The solution was to install itextSharp from Nuget Package Manager

0
On

I have issue with itextsharp and itextsharp.xmlworker dlls so I have removed those both dlls from references and downloaded new dlls directly from nuget packages, which resolved my issue.

May be this method can be useful to resolved the issue to other people.

1
On

This problem occurs only if you press F5 in Visual Studio to debug. If you are not debugging then always press Ctrl+F5. The problem is mainly due to some wrong configuration setting in Project File. To fix it:

  1. remove the dll from Add Reference.

  2. get a fresh copy of dll.

  3. Add the Reference of this dll.

This should fix it.