web-dev-qa-db-fra.com

erreur MSB3027: Impossible de copier "C:\pagefile.sys" dans "bin\roslyn\pagefile.sys". Nombre de tentatives dépassé de 10. Échec

Chaque fois que j'obtiens cette erreur avec VS 2013

Impossible de copier "C:\pagefile.sys" dans "bin\roslyn\pagefile.sys" . Nombre de tentatives dépassé de 10. Échec. Impossible de copier le fichier "C:\pagefile.sys" à "bin\roslyn\pagefile.sys". Le processus ne peut pas accéder au fichier 

Aidez-moi, s'il vous plaît.

19
Pramod Raut

Comme indiqué dans cette réponse du commentaire de Pramod le problème provient du package de nuget Microsoft.CodeDom.Providers.DotNetCompilerPlatform, en passant de la version 1.0.0 à la version 1.0.1. .

Pour moi cependant, la rétrogradation à l'aide de Visual Studio a entraîné d'autres erreurs de génération. Pour résoudre le problème, je devais éditer manuellement mes fichiers csproj et packages.config en supprimant toutes les références à Microsoft.Net.Compilers et Microsoft.CodeDom.Providers.DotNetCompilerPlatform.

Plus précisément, cela signifiait:

  • Suppression des sections <Import Project="... pertinentes pour toutes les versions des deux bibliothèques (généralement vers le début de csproj)
  • Suppression des sections <Reference Include="... pour les deux versions des deux bibliothèques
  • Suppression des sections <Error Condition="!Exists(... des deux versions des deux bibliothèques dans la section cible EnsureNuGetPackageBuildImports
  • Suppression de tous les packages Microsoft.CodeDom.Providers.DotNetCompilerPlatform et Microsoft.Net.Compilers de packages.config.

J'ai ensuite pu gérer les packages de nuget de projets dans VS et (dans l'ordre):

  • Ajouter Microsoft.Net.Compilers version 1.2.2 
  • Ajouter Microsoft.CodeDom.Providers.DotNetCompilerPlatform version 1.0.1 

Cela a résolu l'erreur de construction du fichier d'échange et l'erreur d'exécution qui m'ont incité à essayer de mettre à niveau en premier lieu.

36
T S Taylor

Je retire: 

- Microsoft.CodeDom.Providers.DotNetCompilerPlatform

- Microsoft.Net.Compilers

du gestionnaire de paquets nuget, puisque je ne l'utilise pas.

Alors tout va bien.

8
toha

J'ai trouvé une solution différente à cette erreur… .. Dans mon cas, je déplaçais un projet dans ma solution (je l'ai mis dans un sous-dossier). Mes références aux packages (situés dans% solutionfolder%/packages) dans le fichier de projet étaient rompues et je les ai corrigées manuellement.

Cependant, il y a deux importations de suppléments que j'ai oubliées:

  <Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
  <Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />

J'ai d'abord mis à jour le premier de ..\packages à ....\packages (aussi paresseux que je suis). La construction du projet après cela m'a donné l'erreur pagefile.sys. 

La mise à jour de la deuxième importation (même modification: ..\packages en ....\packages) a résolu le problème.

3
wvhooijdonk

Pas grand chose à dire, mais je suggèrerais d'enregistrer votre problème à l'aide de SysInternals Process Monitor

Une fois que vous avez exécuté procmon, vous souhaitez enregistrer (ou tracer, en d’autres termes) votre problème avec VS2013. Une fois l'enregistrement terminé, vous souhaiterez filtrer les résultats par processus (dans votre cas, devenv.exe). Appuyez donc sur Ctrl-T pour ouvrir l'arborescence des processus et recherchez devenv.exe

Sélectionnez-le, puis cliquez sur le bouton "Inclure le sous-arbre". Fermez la fenêtre Arborescence des processus et sélectionnez Tools -> Count Occurrences dans le menu supérieur. Définissez la liste déroulante Colonne sur "Résultat" et appuyez sur le bouton Compte. Le résultat sera une collection de résultats avec leurs comptes respectifs. Vous pouvez généralement avoir une bonne idée de ce qui se passe en regardant ces résultats. Par exemple, si vous voyez beaucoup de résultats impliquant ACCESS DENIED ou FILE LOCKED WITH ONLY READERS, votre problème est probablement lié à des autorisations.

0
Bertholt