Question

Mon application a un Framework .NET cible de 3.0.

J'ai un PC avec une nouvelle installation de Windows XP SP3.Ensuite, j'ai installé .NET Framework 4.0 Full dessus.

Lorsque j'essaie d'exécuter mon application déployée par ClickOnce, j'obtiens l'erreur "Échec du chargement de l'environnement d'exécution" :

[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)

Je crois comprendre que les applications ciblant .NET 3.0 devraient fonctionner sur les machines sur lesquelles .NET 4.0 est installé.Qu'est ce qui cause cette erreur?Dois-je installer .NET Framework 3.5 SP1 sur les machines Windows XP?

Était-ce utile?

La solution

oui, j'installerais .NET Framework 3.5 et réessayerais, si cela ne fonctionne pas, j'installerais le 3.0 ( Package redistribuable Microsoft .NET Framework 3.0 ).

.NET 3.5 SP1 et .NET 4 sont tous deux présents dans les machines sur lesquelles nous déployons nos applications.

< gagnantEdit:

Vérifiez également ces questions:

Quelle version de .NET Frameworkdevrais-je expédier avec;2, 3, 3,5?

Le framework .net 2.0 est-il requis si3.5 est installé?

Autres conseils

Comme Davide Piras l'a mentionné, vous devez installer .NET 3.0.La raison pour laquelle vous devez faire est que .NET 4 n'est pas un sur-ensemble de dépendances des bibliothèques 3.5 / 3.0 / 2.0.

.NET 3.5 est des bibliothèques 3.0 plus quelques bibliothèques supplémentaires. .NET 3.0 est les bibliothèques 2.0 plus quelques autres

Cependant, .NET 4 est un tout nouvel ensemble de bibliothèques qui existent en parallèle des bibliothèques 2.0 / 3.0 / 3.5.Je crois que c'est le résultat de .NET 4 utilisant un nouveau runtime CLR supérieur à 2.0 / 3.0 / 3.5.Les 2.0 / 3.0 / 3.5 utilisent tous le même runtime, donc chaque nouvelle version nécessitait l'installation des versions précédentes.

C'est une exception COMException, donc je dirais qu'un composant n'est peut-être pas correctement défini.

Vérifiez les propriétés de votre projet sous l'onglet de publication.Dans les fichiers d'application, cochez Afficher tous les fichiers et assurez-vous que tout ce dont vous avez besoin est marqué comme inclus.

Là, vous pouvez également demander à l'application de télécharger les composants requis (comme le framework approprié).

Un message d'erreur aussi trompeur m'est arrivé dans le passé.Peut aussi être juste le cadre comme l’indique l’autre réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top