2011-06-29 1 views
1

J'ai l'impression que c'est une question qui a probablement déjà reçu une réponse, mais j'ai du mal à la trouver. Craignez-le pour de mauvais termes de recherche, peut-être.Créer un appel CSC à partir de Visual Studio config

Je travaille dans Visual Studio 2005 Professional depuis environ un mois maintenant, et jusqu'à présent, j'ai utilisé le mécanisme de compilation intégré avec des paramètres par défaut (la seule chose que j'ai changé avec un réel la fréquence est le chemin de construction). Je voudrais cependant passer à l'utilisation de techniques de construction plus automatisées. À cette fin, je voudrais passer à csc appels au lieu de frapper Ctrl-Shift-B ou F5, de sorte que je peux inclure les lignes dans les scripts de construction et d'autres outils (comme NAnt).

Ma question est, est-ce que Visual Studio ou tout autre outil tiers fournit un moyen de convertir par programme le paramètre de compilation VS dans son équivalent csc? Par exemple, si j'ai un projet appelé sampleProject avec le jeu de champ Output type: à l'application Windows, il ressemblerait à quelque chose comme:

csc /output:winexe /target:SampleProject.exe *.cs 

Je sais qu'il est généralement pas très difficile de travailler cela en main, mais s'il y a un façon de le rassembler automatiquement, c'est beaucoup mieux.

+0

Recherche MSBUILD. Indiquez également la version et l'édition de Visual Studio que vous utilisez. Par exemple, Visual Studio 2010 Professional? –

+0

@John Merci pour les suggestions - Je vais commencer à lire sur MSBuild maintenant. J'utilise VS2005 Pro, et j'ai mis à jour le post pour refléter cela. – asfallows

Répondre

1

Basé sur VS2010, mais similaires devraient travailler pour les autres versions:

Outils> Options> Projets et Solutions> Construire et exécuter

Changer le "projet MSBuild sortie de la construction verbosité" à "Normal" (ou supérieur)

construction, et faire apparaître la fenêtre de sortie (ctrl +w, o).

Changer le « Afficher la sortie de » déroulante à « construire »

Vous devriez voir une ligne csc indicative. Notez que c'est pas vraiment ce qu'il a exécuté; c'est un mensonge heureux. IIRC il exécute réellement directement, et il y a quelques cas-coin où ce qu'il sort là n'est pas tout comme ce que vous auriez besoin.

+0

J'ai testé ça, et c'est comme tu l'as dit. Mais il y a certaines choses qui m'ont surpris, comme: '/ reference: c: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ System.dll' - Je me serais attendu à ce que des choses comme ça soient des choses que CSC connaîtrait automatiquement , et pas besoin d'une référence fournie. – asfallows

+0

@kaldrenon et vous n'avez pas tort; p En fait, dans les versions ultérieures, c'est pratique, car vous utilisez peut-être le compilateur C# 4.0, mais en ciblant .NET 2.0, vous devez donc dire à csc quelle version de System. dll à utiliser. Ce n'est pas un problème dans VS2005 - vous pouvez les supprimer, et il utilisera en effet les valeurs par défaut (sauf si vous les désactivez) –

Questions connexes