J'ai un projet qui se compile actuellement sur ma machine dev en utilisant VS 2010 (probablement en utilisant MSBUILD v4.0), mais il échoue sous MSBUILD v3.5 dans Team City (fonctionnant sur une VM basée sur le serveur Win 2003 avec .NET 2, 3.5 et 4 installé). Ce projet a été mis à jour en 2010 et échoue maintenant sur la version CI. J'ai googlé ceci et essayé tout évident (plus quelques choses qui n'ont pas de sens) et rien n'affecte le résultat.La construction de Team City échoue après la mise à niveau vers VS 2010
Le projet échoue avec une séquence d'erreurs comme ceci:
error CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)
Il existe de nombreux autres projets dans la solution qui utilisent System.Core, System.Data.Linq et System.Xml.Linq et ils ont tous semblent compiler sans problèmes. Le projet en question est une application web, et il a les paramètres suivants dans sa configuration/system.web/compilation/section ensembles:
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
plus les avantages suivants dans le même fichier:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
</system.codedom>
Le projet en question est, IIRC, le seul projet de ma solution à la fois WebApplication et post-traité par PostSharp (v1.5). PostSharp est configuré dans le .csproj comme ceci:
<PropertyGroup>
<DontImportPostSharp>True</DontImportPostSharp>
<PostSharpUseCommandLine>True</PostSharpUseCommandLine>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(POSTSHARP15)\PostSharp-1.5.targets" />
Je ne sais pas comment cela pourrait être lié, mais il est là juste au cas où.
Des idées sur les causes de cette erreur ou sur la façon de contourner le problème?
TIA
Salut Mike, en fait j'ai choisi de garder le framework sur 3.5 et suis capable de construire mon toolset = "4.0" comme s'ils étaient toolset = "3.5" (le framework s'adapte en conséquence) –