comment modifier le fichier .csproj

173

Lorsque je compile mon fichier .csproj à l'aide du fichier .NET Framework 4.0 MSBUILD.EXE, j'obtiens une erreur "lable01" introuvable dans le contexte actuel de "website01.csproj"

En fait, je dois ajouter chaque page ASP.NET avec la référence de son fichier Code Behind, je l'ai fait, cela fonctionne bien mais l'erreur ci-dessus est en attente.

J'espère que cela signifie que j'ai besoin d'ajouter le nom du formulaire "LABLE01" dans ce fichier .csproj mais je ne connais pas la syntaxe. N'importe qui, veuillez me fournir la syntaxe pour ajouter le nom du formulaire dans le fichier .csproj.

fermer à clé
la source

Réponses:

378

Le CSPROJfichier, enregistré au format XML, stocke toutes les références de votre projet, y compris vos options de compilation. Il existe également un fichier SLN qui stocke des informations sur les projets qui composent votre solution.

Si vous utilisez Visual Studio et que vous avez besoin d'afficher ou de modifier votre CSPROJfichier dans Visual Studio, vous pouvez le faire en suivant ces étapes simples:

  1. Cliquez avec le bouton droit sur votre projet dans l'explorateur de solutions et sélectionnez Décharger le projet
  2. Faites un clic droit sur le projet (marqué comme indisponible dans l'explorateur de solutions) et cliquez sur "Modifier votreproj.csproj". Cela ouvrira votre fichier CSPROJ pour l'édition.
  3. Après avoir apporté les modifications souhaitées, enregistrez et fermez le fichier. Cliquez à nouveau avec le bouton droit sur le nœud et choisissez Recharger le projet une fois terminé.
sgokhales
la source
1
Merci pour votre réponse ... mais j'ai besoin d'ajouter un fichier à un projet existant. Donc, cela signifie ajouter manuellement quelques lignes de code XML au fichier .csproj. J'ai besoin de la syntaxe pour représenter la forme label01 dans ce code ...
verrouiller le
1
@karthik: Oui, je suppose.
sgokhales le
18

Vous pouvez faire un clic droit sur le fichier du projet, sélectionner "Décharger le projet" puis ouvrir le fichier directement pour le modifier en sélectionnant "Modifier le nom du projet.csproj".

Vous devrez recharger le projet après avoir enregistré vos modifications pour qu'il se compile.

Consultez Comment: décharger et recharger des projets sur MSDN.


Les fichiers de projet étant des fichiers XML, vous pouvez également les modifier simplement à l'aide de n'importe quel éditeur de texte prenant en charge Unicode (bloc-notes, notepad ++ etc ...)

Cependant , je serais très réticent à modifier ces fichiers à la main - utilisez l'Explorateur de solutions pour cela si possible. Si vous avez des erreurs et que vous savez comment les corriger manuellement, continuez, mais sachez que vous pouvez complètement ruiner le fichier du projet si vous ne savez pas exactement ce que vous faites.

Oded
la source
1
Eh bien, espérons ajouter manuellement le nom de l'étiquette dans le fichier .csproj ??? je veux dire la syntaxe ....
verrouiller le
1
@Karthik Malla - Si vous regardez d'autres classes dans le fichier projet, vous verrez la syntaxe.
Oded le
1
oui ... mais je ne trouve rien concernant les formulaires dans les fichiers .csproj mais dans ma compilation avec MSBUILD.EXE me montre une erreur avec le code CS0103
verrouiller le
1
@Karthik Malla - Vous devriez également obtenir un nom de fichier et un numéro de ligne avec cette erreur.
Oded le
1
Oui...! mais je ne peux rien faire .... La page ASP.NET avec son code C # fonctionne très bien avec un compilateur VS mais lorsque j'utilise msbuild.exe pour compiler un fichier .csproj, j'obtiens une erreur que je n'ai pas une référence pour ce formulaire dans le fichier .csproj. Donc, j'ai besoin de syntaxe pour ajouter le nom du formulaire dans ce fichier .csproj.
écluse le
8

Étant donné que la question ne mentionne pas directement Visual Studio et que j'ai trouvé cette question à la recherche d'un moyen de modifier le fichier csproj dans JetBrains Rider, je publierai comment faire cela dans JetBrains Rider.

Modifier à partir du menu contextuel

  1. Faites un clic droit sur votre projet
  2. Aller à modifier
  3. Modifier "{project-name.csproj}"

entrez la description de l'image ici

Modifier à partir du raccourci

  1. Sélectionnez un projet
  2. Appuyez sur F4
Florian Schaal
la source
3

Désolé, le moyen le plus efficace de ne pas bourrer votre fichier proj est.

  1. faites un clic droit sur le fichier.
  2. goto propriétés
  3. où l'option Action de construction est définie sur AUCUN.
  4. Faites une compilation (oui, vous pouvez obtenir une erreur de construction si vous faites encore mieux)
  5. revenir aux propriétés de ce fichier
  6. L'option set Build Action est remise à Compile.
  7. reconstruire.

  8. Félicitez-vous d'être plus intelligent que tout le monde et de ne pas vous projeter. Pour moi, cet exercice a pris moins de 10 secondes. Lorsque vous essayez manuellement d'entrer la ligne compile ... dans le csproj, non seulement peut rendre votre projet inutilisable, mais il est également impossible de le maintenir sur une application à grande échelle. Mieux vaut conserver le logiciel de contrôle de version source pour effectuer les mises à jour. Si vous avez besoin de croiser des branches de fusion, faire ce qui précède est incroyable :).

CodeGamer
la source
2

Pour JetBrains Rider:

Première option

  1. Décharger le projet
  2. Double-cliquez sur le projet déchargé

Deuxième option:

  1. Cliquez sur le projet
  2. Appuyez sur F4

C'est tout!

AncaS
la source
0

Il s'agit d'une option intégrée .Net core et projets standard .Net

Nuages ​​bleus
la source
0

Pour la version Visual Studio: 8.1.5,

  1. Faites un clic droit sur le dossier du projet.
  2. Cliquez sur «Outils», puis sur «Modifier le fichier».
Asim Okby
la source
Salut @Asem. Vous ne répondez pas à la question, car l'utilisateur a besoin d'aide avec la syntaxe. Veuillez jeter un œil à Comment écrire une bonne réponse
GaboBrandX
@GaboBrandX La plupart des réponses répondent à la question "comment éditer un fichier .csproj?" , y compris moi. Je suis tombé sur le problème et j'ai vérifié les réponses fournies, mais aucune des réponses n'a été utile. Donc, j'ai fourni une réponse pour la dernière version mise à jour.
Asim Okby
Seule votre réponse m'a été fournie pour examen, donc je n'ai pas vu les autres. Avant de publier une réponse, veuillez lire attentivement la question, pas seulement le titre.
GaboBrandX