我的应用程序有一个目标.NET框架为3.0。
我有一个新的安装Windows SP3的个人电脑。接下来,我完全安装了.NET Framework4.0。
当我试图运行我的ClickOnce部署的应用程序时,我发现“加载运行时失败”错误:
[9/9/2011 11:39:53 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)
我的理解是,针对.NET 3.0的应用程序应该在安装了.NET 4.0的机器上工作。是什么导致了这个错误?我必须在Windows计算机上安装.NET Framework3.5 SP1吗?
发布于 2011-09-09 18:49:16
是的,我将安装.NET Framework3.5,然后再试一次,如果它不能工作,我将安装3.0 ( Microsoft .NET Framework3.0可再发行包 )。
.NET 3.5 SP1和.NET 4都存在于我们部署应用程序的机器中。
编辑:
还请检查以下问题:
发布于 2011-09-09 20:24:05
正如Davide提到的,您需要安装.NET 3.0。需要这样做的原因是,.NET 4不是3.5/3.0/2.0库的依赖项超集。
.NET 3.5是3.0库加上一些额外的库。.NET 3.0是2.0库加上一些附加的库
然而,.NET 4是一组与2.0/3.0/3.5并行存在的全新库。我相信这是.NET 4使用新的CLR运行时而不是2.0/3.0/3.5的结果。2.0/3.0/3.5都使用相同的运行时,因此每个新版本都需要安装以前的版本。
发布于 2011-09-09 18:51:30
它是一个COMException,所以我想说,可能组件没有被正确设置。
检查“发布”选项卡下的项目属性。在“应用程序文件”中,检查“显示所有文件”,并确保将所需的全部标记为“包括”。
在那里,您还可以要求应用程序下载所需的组件(例如适当的框架)。
这种误导的错误信息过去曾发生在我身上。也可能是其他答复所述的框架。
https://stackoverflow.com/questions/7366090
复制相似问题