L'erreur lit,
TargetFrameworkMoniker: une erreur s'est produite lors de l'enregistrement du fichier de projet 'Yadayada.csproj'. L'accès est refusé.
J'essaie de passer de .net 3.5 à .net 4.0 ou supérieur.
Le projet est connecté à TFS dans Visual Studio 2010 (également essayé VS 2013, même erreur). Je suis dans un environnement VM.
Des indices sur cette erreur? Google renvoie très peu d'informations. Il semble que j'ai un accès approprié au fichier, mais comment VS y accède-t-il?
Cela ressemble à soit:
1) Le fichier a été marqué en lecture seule. Vérifiez ceci en consultant les propriétés du csproj.
Ou
2) Votre utilisateur ne dispose pas des autorisations suffisantes pour modifier le fichier - vérifiez la sécurité sur csproj.
J'ai constaté que si vous obtenez l'erreur, cliquez sur Enregistrer, fermez Visual Studio et rouvrez le projet. Vous constaterez que le réglage a été modifié 86,5% du temps.
Essayez d’exécuter Visual Studio en mode administrateur et vérifiez également si votre dossier de projet est défini en lecture seule.
J'avais cette erreur et c'est finalement le fichier app.config, protégé en écriture. Changer le cadre cible a non seulement changé
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
dans le fichier .csproj mais a également modifié le fichier app.config du projet:
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
(Je voulais ajouter cela en tant que commentaire à la réponse de pixelmeow le 27 juin, mais la politique de StackOverflow m'empêche de le faire jusqu'à ce que j'ai assez de points de réputation. J'ai pourtant voté pour lui/elle!)
J'ai eu cette erreur dans mon environnement, qui est directement VS 2013 Pro: pas de TFS et pas de VM. La désactivation de la zone de lecture seule a uniquement modifié l'affichage de la boîte de dialogue car la réinvocation de la boîte de dialogue a toujours permis d'afficher en lecture seule. Je pensais avoir changé la propriété du fichier de projet en vertu de la modification de la propriété dans un répertoire de niveau supérieur et en cochant l'option "Remplacer toutes les entrées d'autorisation d'objet enfant par des entrées d'autorisation héritables de cet objet ." Bien sûr, le fichier de projet et tout le reste avaient l'héritage désactivé. Une fois que cela a été corrigé, j'ai pu sauvegarder des choses sans être administrateur.
Je recevais cette erreur dans Visual Studio 2010 à cause de mon paramètre d'action de départ. À chaque fois que j'appuyais sur le débogage, je pensais que la fenêtre du navigateur essayait de se lancer trop rapidement (il s'agit d'un projet ASP.NET MVC 4 avec un projet de paramètres intranet). J'ai donc modifié l'action de démarrage en: "N'ouvrez pas de page. Attendez une demande de l'application externe."
Et cela a semblé résoudre le problème. Il vous suffira d'accéder à l'application Web manuellement plutôt que de lancer le navigateur pour vous par VS. Vous pouvez cliquer sur l'icône du serveur en cours d'exécution (en bas à droite de la barre des tâches) et accéder au lien à partir de là si vous ne vous en souvenez pas ou si votre navigateur ne l'a pas stockée sous forme d'URL d'historique pour une raison quelconque.
J'avais cette erreur et c'est finalement le fichier app.config protégé en écriture. Une fois que j'ai effacé la propriété en lecture seule, tout a bien fonctionné.