草庐IT

c# - ClickOnce 应用程序抛出错误 "..requires assembly MySql.Data Version 6.5.4.0 be installed in the Global Assembly Cache (GAC) first."

coder 2023-10-16 原文

我是部署 .NET 应用程序的新手,所以如果需要更多详细信息,请告诉我。

我在 Visual Studio 中使用 MySql 开发了一个 C# 控制台应用程序。这是通过 ClickOnce 应用程序部署在 2 台 Windows 7 机器上并且工作正常。试图在 Windows XP 机器上安装并出现以下错误:

System Update Required:

Unable to install or run the application. The application requires that assembly MySql.Data Version 6.5.4.0 be installed in the Global Assembly Cache (GAC) first.

我已经进行了一些谷歌搜索,但我认为这不是之前提到的任何问题 - 没有防火墙,没有防病毒软件,在具有所有权限的管理员帐户上。我检查了 C:\Windows\Assembly 并列出了 MySql.Data.CF.dll V 6.5.4.0。

同事还挖出了如下错误日志:

PLATFORM VERSION INFO Windows : 5.1.2600.196608 (Win32NT) Common Language Runtime : 4.0.30319.1 System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100) clr.dll : 4.0.30319.1 (RTMRel.030319-0100) dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100) dfshim.dll : 4.0.31106.0 (Main.031106-0000)

SOURCES Deployment url : file:///C:/GearBox/app/publish/ClockworksConsoleApplication.application Application url : file:///C:/GearBox/app/publish/Application%20Files/ClockworksConsoleApplication_1_0_0_6/ClockworksConsoleApplication.exe.manifest

IDENTITIES Deployment Identity : ClockworksConsoleApplication.application, Version=1.0.0.6, Culture=neutral, PublicKeyToken=efa8c6cf1fc52128, processorArchitecture=msil Application Identity : ClockworksConsoleApplication.exe, Version=1.0.0.6, Culture=neutral, PublicKeyToken=efa8c6cf1fc52128, processorArchitecture=msil, type=win32

APPLICATION SUMMARY * Installable application.

ERROR SUMMARY Below is a summary of the errors, details of these errors are listed later in the log. * Activation of C:\GearBox\app\publish\ClockworksConsoleApplication.application resulted in exception. Following failure messages were detected: + Failed to load the runtime. (Exception from HRESULT: 0x80131700)

COMPONENT STORE TRANSACTION FAILURE SUMMARY No transaction error was detected.

WARNINGS There were no warnings during this operation.

OPERATION PROGRESS STATUS * [8/31/2012 9:56:00 AM] : Activation of C:\GearBox\app\publish\ClockworksConsoleApplication.application has started. * [8/31/2012 9:56:02 AM] : Processing of deployment manifest has successfully completed. * [8/31/2012 9:56:02 AM] : Installation of the application has started. * [8/31/2012 9:56:02 AM] : Processing of application manifest has successfully completed. * [8/31/2012 9:56:08 AM] : Found compatible runtime version 2.0.50727.

ERROR DETAILS Following errors were detected during this operation. * [8/31/2012 9:56:08 AM] System.Runtime.InteropServices.COMException - Failed to load the runtime. (Exception from HRESULT: 0x80131700) - Source: System.Deployment - Stack trace: at System.Deployment.Application.NativeMethods.IClrMetaHostPolicy.GetRequestedRuntime(MetaHostPolicyFlags policyFlags, String binaryPath, IStream configStream, StringBuilder version, Int32& versionLength, StringBuilder imageVersion, Int32& imageVersionLength, Int32& pdwConfigFlags, Guid interfaceId) at System.Deployment.Application.NativeMethods.GetAssemblyCacheInterface(String CLRVersionString, Boolean FetchRuntimeHost, CCorRuntimeHost& RuntimeHost) at System.Deployment.Application.PlatformDetector.VerifyPlatformDependencies(AssemblyManifest appManifest, AssemblyManifest deployManifest, String tempDir) at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp) at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc) at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl) at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

COMPONENT STORE TRANSACTION DETAILS No transaction information is available.

我之前在安装时遇到另一个错误,

URLDownloadToCacheFile failed with HRESULT '-2146697211' Error: An error occurred trying to download 'http://station52/clockworksEXE/ClockworksConsoleApplication.application'.

然而,我将我的设置更改为从 CD 而不是网站发布,这似乎已经解决了这个问题,但我仍然遇到 GAC 错误。

有什么想法吗?

最佳答案

解决方案是将 MySQL dll 作为应用程序的一部分包含在内。在发布应用程序设置下将 dll 设置为“包含本地”和/或“包含”。

这样,当部署您的 ClickOnce 应用程序时,dll 将与其一起部署到本地,并且不会在 GAC 中查找它。

通常,GAC 中的东西安装在那里供其他应用程序共享,就 ClickOnce 而言,通常作为先决条件安装。不必将组件包含在您的应用程序中可以减少部署的大小,当然,还可以让您的应用程序使用已在 GAC 中共享的组件。

您遇到的问题显然与 ClickOnce 和 WinXP 有关,解决方案是将 MySQL 组件包含在您的应用程序中并在您的应用程序本地使用它。

关于c# - ClickOnce 应用程序抛出错误 "..requires assembly MySql.Data Version 6.5.4.0 be installed in the Global Assembly Cache (GAC) first.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12270919/

有关c# - ClickOnce 应用程序抛出错误 "..requires assembly MySql.Data Version 6.5.4.0 be installed in the Global Assembly Cache (GAC) first."的更多相关文章

  1. ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test - 2

    我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou

  2. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  3. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  4. ruby-on-rails - 迷你测试错误 : "NameError: uninitialized constant" - 2

    我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test

  5. ruby-on-rails - 相关表上的范围为 "WHERE ... LIKE" - 2

    我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que

  6. 使用 ACL 调用 upload_file 时出现 Ruby S3 "Access Denied"错误 - 2

    我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file

  7. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  8. c# - 如何在 ruby​​ 中调用 C# dll? - 2

    如何在ruby​​中调用C#dll? 最佳答案 我能想到几种可能性:为您的DLL编写(或找人编写)一个COM包装器,如果它还没有,则使用Ruby的WIN32OLE库来调用它;看看RubyCLR,其中一位作者是JohnLam,他继续在Microsoft从事IronRuby方面的工作。(估计不会再维护了,可能不支持.Net2.0以上的版本);正如其他地方已经提到的,看看使用IronRuby,如果这是您的技术选择。有一个主题是here.请注意,最后一篇文章实际上来自JohnLam(看起来像是2009年3月),他似乎很自在地断言RubyCL

  9. C# 到 Ruby sha1 base64 编码 - 2

    我正在尝试在Ruby中复制Convert.ToBase64String()行为。这是我的C#代码:varsha1=newSHA1CryptoServiceProvider();varpasswordBytes=Encoding.UTF8.GetBytes("password");varpasswordHash=sha1.ComputeHash(passwordBytes);returnConvert.ToBase64String(passwordHash);//returns"W6ph5Mm5Pz8GgiULbPgzG37mj9g="当我在Ruby中尝试同样的事情时,我得到了相同sha

  10. ruby - RVM "ERROR: Unable to checkout branch ."单用户 - 2

    我在新的Debian6VirtualBoxVM上安装RVM时遇到问题。我已经安装了所有需要的包并使用下载了安装脚本(curl-shttps://rvm.beginrescueend.com/install/rvm)>rvm,但以单个用户身份运行时bashrvm我收到以下错误消息:ERROR:Unabletocheckoutbranch.安装在这里停止,并且(据我所知)没有安装RVM的任何文件。如果我以root身份运行脚本(对于多用户安装),我会收到另一条消息:Successfullycheckedoutbranch''安装程序继续并指示成功,但未添加.rvm目录,甚至在修改我的.bas

随机推荐