zoukankan      html  css  js  c++  java
  • dapper ambigous引用

    使用dapper时,添加了miniprofiler想看看生成的sql,结果编译报错

    3>ToolsDapperExtension.cs(100,24,100,31): error CS0121: The call is ambiguous between the following methods or properties: 'Dapper.SqlMapper.Execute(System.Data.IDbConnection, string, object, System.Data.IDbTransaction, int?, System.Data.CommandType?)' and 'Dapper.SqlMapper.Execute(System.Data.IDbConnection, string, object, System.Data.IDbTransaction, int?, System.Data.CommandType?)'
    

    从方法签名上,完全看不出来区别。

    其实个人推测也是有库重复引用问题,不过看不出来是哪个,IDE没有提示,也不知道如何解决。

    在bing上搜了搜,找到了这个回答。而且恰好就是和我一样的问题。

    方法是利用extern alias,为重复的dll中的一个指定引用别名,这样就不会两个都引用进来。
    在csproj文件中添加:

    <Target Name="StrongNameAlias" BeforeTargets="FindReferenceAssembliesForReferences;ResolveReferences">
      <ItemGroup>
        <ReferencePath Condition="'%(FileName)' == 'Dapper.StrongName'">
          <Aliases>MP_DapperStrongNameAlias</Aliases>
        </ReferencePath>
     </ItemGroup>
    </Target>
    

    补充一下,我这里冲突的是dapper库,和miniprofiler引用的dapper.strongname

  • 相关阅读:
    mySQL教程 第1章 数据库设计
    数学符号大全
    C# 正则表达式 判断各种字符串(如手机号)
    C# 面向对象编程
    博客园 网址
    优化正则表达式的诀窍
    hdu 1596 floyd
    poj3259,简单判断有无负环,spfa
    hdu 1496 hash
    hdu 1429 bfs+二进制状态压缩
  • 原文地址:https://www.cnblogs.com/mosakashaka/p/12608701.html
Copyright © 2011-2022 走看看