mysql-connector-net源代码导致编译失败有解决方法
终极管理员 知识笔记 22阅读
,虽然MySql-Connector-net (MySql。Data.dll .的。MySQL数据对象的. NET provider一直无法编译,有5.1.4和5.2.2两个版本无法编译,所以今天干脆找了个方法彻底解决这个问题。这个问题是由MySqlString中的EscapeString方法中的编译引起的。请参考:codeprivatestringsescape string(strings){ s=s . replace(' \ \ ' ' \ \ ');s=s . Replace(' \ ' ' ' \ \ \ ' ');s=s.Replace(' rgba(128,0,0,1)'\ ' '' \ \ \ ' ');s=s.Replace(' ` '' \ \ ` ');s=s.Replace(''\\?);s=s.Replace(''\\?);s=s.Replace(''\\?
: rgba(0, 0, 0, 1)">);/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">return/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s;
}
/span>/span>/span>/span>br/span>/span>/span>/span>/p>
其实方法也很简单,只是一时没有想到,只需要使用reflector查/span>/span>/span>/span>,把正确的反编译后的代码复制出来就行,以下就是正确的代码:

/span>/span>/span>/span>br/span>/span>/span>/span>/p>
/span>/span>/span>/span>span id="Code_Closed_Text_083108" class="cnblogs_code_Collapse">Code/span>/span>/span>/span>span id="Code_Open_Text_083108" style="display: none"/span>/span>/span>/span>br/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">private/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">string/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> EscapeString(/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">string/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s)
{
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)"/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>/span/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)"/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>/span/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">'/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\'/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)"/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>/span/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">""/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>/span/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">""/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">`/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\`/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\x00b4/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\\\x00b4/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">’/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\’/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">‘/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\‘/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">return/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s;
}/span>/span>/span>/span>/span/span>/span>/span>/span>/div>
{
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)"/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>/span/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)"/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>/span/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">'/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\'/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)"/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>/span/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">""/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>span class="xzm_is" data-txt="#YC#3C"/span>/span>/span/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">""/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">`/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\`/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\x00b4/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\\\x00b4/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">’/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\’/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
s /span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s.Replace(/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">‘/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">@"/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">\‘/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">"/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">);
/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">return/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> s;
}/span>/span>/span>/span>/span/span>/span>/span>/span>/div>
/p>
/span>/span>/span>/span>/div>
标签: