提问者:小点点

使用Dapper时System.TypeLoadException


我正在尝试在Northwind数据库上使用Dapper,但我遇到了一个无法修复的问题。 收到以下错误:System.TypeLoadException:“无法从集”Dapper,Version=1.0.0.0,Culture=Neutral,PublicKeyToken=Null“加载类型”Dapper.SqlMapper“。”

我的代码:

class Employee
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Title { get; set; }
        public string TerritoryDescription { get; set; }
        public string RegionDescription { get; set; }

        public override string ToString()
        {
            return $"{FirstName} {LastName} {Title} {TerritoryDescription} {RegionDescription}";
        }
    }
class Program
    {
        static void Main(string[] args)
        {
            var connStr = "Server = localhost; Database = Northwind; Trusted_Connection = True;";

            using (var connection = new SqlConnection(connStr))
            {
                connection.Open();

                var employees = connection.Query<Employee> 
                (
                    @"SELECT e.FirstName FirstName, e.LastName LastName, e.Title Title, T.TerritoryDescription TerritoryDesc, r.RegionDescription RegionDesc FROM Employees e INNER JOIN EmployeeTerritories et ON e.EmployeeID = et.EmployeeID INNER JOIN Territories T ON et.TerritoryID = T.TerritoryID JOIN Region r ON T.RegionID = r.RegionID"
                ).ToList();

                foreach (var person in employees) Console.WriteLine(person);

                connection.Close();
            }              
        }
    }

我甚至无法检查问题出在哪里,因为app会进入中断模式。


共1个答案

匿名用户

这个问题通常发生在有一个对象/类/类型名为

衣冠楚楚

衣冠楚楚

请执行以下步骤以删除此问题

创建一个新项目,不要用dapper ;命名其中的任何内容(不区分大小写)。 ;即使更改了现有项目中已退出的“dapper”对象的名称,也可能会产生问题,因此最好创建一个新项目! ;我认为这与dapper或visual studio中的某个地方的汇编或硬编码有关(不确定!)。

再次使用Nuget Manager安装Dapper。

现在应该没问题了。

参考:https://dapper-tutorial.net/knowledge-base/29410020/dapper-error--coul-not-load-type--dapper-sqlmapper-