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

  • 相关阅读:
    暴力程序之回文子串
    关于取消同步带来问题的样例
    JavaScript之Date
    JavaScript之array
    智破连环阵
    超长数字串
    无向图最短路径
    扫雷
    n!最末尾非0数
    计算程序运行时间
  • 原文地址:https://www.cnblogs.com/mosakashaka/p/12608701.html
Copyright © 2011-2022 走看看