Question

Je suis en train de déployer une application ClickOnce. Il avait travaillé auparavant lorsque le serveur était assis avec .Net 2.0 installé (sans SP). Récemment, le serveur avait 3.5SP1 installé sur et maintenant ClickOnce échoue avec l'erreur:

La valeur ne tombe pas dans la plage attendue dans System.Deployment .

Voici les informations publiées sur les forums MSDN (réponses il y a généralement peu hasardeux pour moi) avec la pile d'appel:

Il était dans VS 2005 w / SP1 et j'ai essayé de changer le chemin que je publierai à, changer l'URL d'installation, la modification du nom d'assemblage, versions commande manuelle, en cours d'exécution -cc mage, supprimer manuellement toutes les données d'application en% userprofile% \ AppData \ local \ Apps et même changer complètement les serveurs de déploiement, mais toujours obtenir la même erreur:

DÉTAILS DE L'ERREUR     À la suite des erreurs ont été détectées lors de cette opération.     * [3/30/2009 17:35:37] System.ArgumentException         - La valeur ne tombe pas dans la fourchette prévue.         - Source: System.Deployment         - Trace de la pile:             à System.Deployment.Internal.Isolation.IStore.LockApplicationPath (Drapeaux UInt32, IDefinitionAppId ap_id, IntPtr & Cookie)             à System.Deployment.Application.ComponentStore.LockApplicationPath (DefinitionAppId definitionAppId)             à System.Deployment.Application.SubscriptionStore.LockApplicationPath (DefinitionAppId definitionAppId)             à System.Deployment.Application.FileDownloader.PatchFiles (SubscriptionState infraétatiques)             à System.Deployment.Application.FileDownloader.Download (SubscriptionState infraétatiques)             à System.Deployment.Application.DownloadManager.DownloadDependencies (SubscriptionState subétatiques, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String TargetDirectory, groupe String, notification IDownloadNotification, options DownloadOptions)             à System.Deployment.Application.ApplicationActivator.DownloadApplication (SubscriptionState subétatiques, ActivationDescription actDesc, Int64 transactionId, TempDirectory & downloadTemp)             à System.Deployment.Application.ApplicationActivator.InstallApplication (SubscriptionState & subétatiques, ActivationDescription actDesc)             à System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation (Uri activationUri, Boolean IsShortCut, String textualSubId, String deploymentProviderUrlFromExtension, browsersettings browsersettings, String & errorPageUrl)             à System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker (état de l'objet)

Toute aide à tous serait très apprécié ..

Le forum référencé est ici

Était-ce utile?

La solution 2

En fin de ma seule façon de résoudre la question était de créer un tout nouveau projet et copiez le code au-dessus de chaque formulaire, puis publier cela.

Jonez:. Malheureusement déplacer mon profil d'utilisateur aurait été embêtant majeur et il me semblait que cela aurait été important exagéré de résoudre un problème d'édition

Gregory: L'installation échouerait avec cette erreur. J'ai essayé la publication sur un nouvel emplacement (différent du serveur physique) et la question était encore présent et je confirme pas esperluette ont été utilisés dans les deux parcours.

Autres conseils

J'ai eu un problème similaire.

La solution pour moi était que le craps ClickOnce s'il y a une esperluette dans le chemin de publication. Être comme je publiais dans le dossier de notre département de recherche et de développement, à savoir « \ serverName \ r & d \ », ce me causait la douleur, et me donnait la même renfermée « valeur ne tombe pas dans la plage attendue » que vous êtes voir.

Je ne sais pas si cela va résoudre votre problème, mais je me sens obligé de le suggérer.

Si vous êtes à la recherche d'une solution rapide et sale qui fonctionne 95% du temps pour les questions de System.Deployment, supprimer et créer un nouveau profil d'utilisateur. Assurez-vous de sauvegarder toutes les données précieuses avant de le faire, comme le bureau, favoris, « Mes documents « Mes images », les fichiers Outlook, etc.

Je l'ai vu aussi des gens supprimer l'intégralité du répertoire Local Settings pour résoudre les problèmes. Notez que ce répertoire contient parfois des fichiers d'Outlook.

Soyez conscient du fait que vous pouvez effectuer d'autres applications en effectuant ces correctifs et que les effets sont parfois irrevisible. Ces solutions ne sont évidemment pas idéal, mais ce sont les solutions que Microsoft m'a fourni.

Bonne chance.

Je viens de rencontrer dans cette erreur et a pu résoudre en désinstallant simplement réinstallation de l'application sur l'ordinateur de l'utilisateur.

Avez-vous changé la plate-forme cible pour l'application elle-même? Plus important encore, votre machine de développement ont .NET 3.5 SP-1 installé là-dessus?

Cette erreur se produit lorsque vous avez des références dépareillées. Donc, votre déploiement attend une version, mais la machine il est en cours d'installation sur a une version différente. Il arrive aussi si vous avez des références circulaires.

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