问题
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>
回答1:
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.
- Intro video (2 mins video showing you what to do to make it work.)
- Sample projects of Github
回答2:
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:
remove the
dll
fromAdd Reference
.get a fresh copy of
dll
.Add the Reference of this
dll
.
This should fix it.
回答3:
- Get the latest LGPL copy of iTextSharp from here: https://github.com/itextsharper/iTextSharp-4.1.6
- Download the RazorPdf source code from here: https://github.com/RazorAnt/RazorPDF
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/
来源:https://stackoverflow.com/questions/21012308/could-not-load-file-or-assembly-itextsharp-or-one-of-its-dependencies