2010-04-28 7 views
95

Tout le monde parvient à obtenir des applications .NET 4.0 compilant sur un serveur CI sans installer Visual Studio 2010 sur un serveur CI?Problèmes de génération .NET 4.0 sur le serveur CI

Aucun SDK n'existe pour .NET 4.0. Avoir installé .NET 4.0 sur le serveur CI. Msbuild.exe travaille pour des projets simples et donner l'avertissement suivant:

(GetReferenceAssemblyPaths target) -> C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(847,9): warning MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.0" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend.

+1

Comment puis-je en faire une erreur fatale plutôt qu'un avertissement? Il est caché dans notre journal de construction et à la place il échoue plus bas avec un message cryptique sur mscorlib.dll –

Répondre

125

Vous n'avez pas besoin d'installer VS plus, vous pouvez installer le « Microsoft Windows SDK pour Windows 7 et .NET Framework 4 » maintenant.

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b

+43

L'installation par défaut est de 1,7 Go, mais la plupart de ces fichiers sont inutiles. Si vous décochez tout sauf Développement .NET> Assemblées Intellisense et de référence qui vous donneront toujours le pack de ciblage .NET 4 dont vous avez besoin (environ 450 Mo). –

+1

Vous pouvez également vérifier Développement .NET> Outils que cela va apporter plusieurs utilitaires tels que sn.exe qui sont pratiques pour traiter des assemblées signées. – Mykro

+0

J'ai téléchargé le programme d'installation, et quand je l'ai exécuté, il m'a dit que j'avais déjà installé .net 4, mais les assemblages Intellisense et de référence n'ont pas été cochés. La vérification et l'installation de ces fichiers semblaient résoudre le problème pour moi. Ce qui est bizarre, c'est que cette version de CI a fonctionné pendant des mois maintenant, et elle a juste commencé à lancer cette erreur aujourd'hui. – Carl

10

autre alternative: sans installer Net 4.0 SDK ou vs 2010

Copiez le dossier des ensembles de référence de votre machine dev pour construire serveur (190MB).

utilisation msbuild -p: option FrameworkPathOverride pour pointer vers la référence des ensembles dossier

les ensembles de référence Lieu:

C: \ Program Files (x86) \ Reference Assemblies \ Framework Microsoft \ \ .NETFramework \ v4 .0 ou C: \ Program Files \ référence Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0

trouvé ce billet depuis:

.NET 4.0 build server reference assemblies warnings MSB3644

Si vous obtenez cette erreur: « Microsoft.WebApplication.targets n'a pas été trouvé » - il suffit de copier la cible de la machine dev https://stackoverflow.com/a/5344246/423356

si MVC3 n'est pas installé dans la construction serveur; "ajouter des assemblies déployables" au projet mvc http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

Si vous avez une erreur lors de la construction du projet MSTest sans l'installation de sdk ou Visual Studio; Il y a plusieurs articles de blog à ce sujet, à vrai dire la solution est trop complexe pour moi. J'utilise NUnit au lieu de MSTest

+0

Depuis mon serveur 2012 ne me laisserait pas installer .Net 4 parce que l'installateur a dit qu'il y a une version plus élevée . J'ai fait ce que @kite a dit et copié à partir d'un PC que j'avais été VS 2012 a été installé. Cela a résolu mes problèmes. – chdev77

23

SDK pour .NET 4.5 disponible here. Le programme d'installation fonctionne bien avec un proxy avec une autorisation de base. Systèmes d'exploitation pris en charge: Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2

P.S. Ma réponse est plus comme un commentaire à Jeremy answer, mais je n'ai pas assez de réputation pour commenter les réponses.

+0

Cela a fonctionné pour moi. – DenNukem

+1

De la page de référence: «Windows SDK n'est plus fourni avec un environnement de génération de ligne de commande complet Le Kit de développement Windows requiert désormais un compilateur et un environnement de construction à installer séparément. Donc, je suppose que ce n'est pas suffisant pour exécuter un serveur de construction. – Chris

+0

Chris, je crois que tu as raison. – priehl

0

Cette page répertorie les SDK .NET pour chaque version de Visual Studio. Pour un téléchargement plus petit, choisissez le 'pack développeur' ou le 'pack de ciblage' plutôt que le SDK Windows complet.

Questions connexes