【问题标题】:Getting an Error "File or assembly name 'MySql.Data, Version=6.7.4.0 ...'收到错误“文件或程序集名称'MySql.Data,版本 = 6.7.4.0 ...'
【发布时间】:2023-03-20 02:18:01
【问题描述】:

我目前正在尝试在 Windows CE v6.0 机器上运行我使用 Microsoft Visual C# 2005 创建的 C# 程序,该机器是条形码扫描仪/掌上电脑。这是一个控制台程序,但是当我运行该程序时,我得到了错误:

File or assembly name 'MySql.Data,Version=6.7.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D' , or one of its dependencies was not found.

看细节,是TypeLoadException

这是我的app.manifest 文件:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <applicationRequestMinimum>
        <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
        <defaultAssemblyRequest permissionSetReference="Custom" />
      </applicationRequestMinimum>
    </security>
  </trustInfo>
    <system.data>
        <DbProviderFactories>
            <remove name="MySQL Data Provider" />
            <add name="MySQL Data Provider"
                invariant="MySql.Data.MySqlClient"
                description=".Net Framework Data Provider for MySQL"
                type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
        </DbProviderFactories>
    </system.data>
</asmv1:assembly>

编辑 如果没有出现上述错误,则会出现另一个类似的错误:

File or assembly name 'System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089', or one of its dependencies, was not found.

【问题讨论】:

  • 那么您是否在同一目录或 GAC 中有相关程序集?

标签: c# mysql .net visual-studio-2005 windows-ce


【解决方案1】:

该错误表示您的应用程序找不到您在创建应用程序时指定的 MySQL 的 ADO 数据提供程序。最有可能的是,您根本没有将它复制到您的 Windows CE 机器上。

要找到它:进入 Visual Studio,然后在解决方案资源管理器中打开项目下的“参考”。找到 Mysql 条目并选择它。属性窗口将识别 dll 的路径。

将该 dll 复制到与 Win CE 机器上的可执行文件相同的目录中。

【讨论】:

  • 感谢您,现在错误消失了,但出现了类似的错误。这一次,“找不到 System.Data 版本 2.0.0.0 [...]”。知道如何解决这个问题吗?
  • 您是否安装了 .NET 框架? System.**anything** 是框架的一部分。
  • 我试过下载一个 .cab 文件,但它不会让我安装它。有什么想法吗?
  • 不太熟悉 Win CE,但这个链接看起来很有希望:msdn.microsoft.com/en-us/library/bb788171%28v=vs.90%29.aspx
【解决方案2】:

您可以尝试启用 Fusion Log Viewer 以准确查看导致问题的库(如下所述: http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx)。如果有一批 dll 丢失,您可能需要运行几次。

【讨论】:

    猜你喜欢
    • 2014-01-30
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 2014-11-19
    相关资源
    最近更新 更多