Je tente d'installer un fichier .csproj pour avoir un groupe d'éléments conditionnel qui supprimera tous les éléments du groupe d'articles <ProjectReference>.MSBuild Erreur: L'attribut "Supprimer" dans l'élément <ProjectReference> n'est pas reconnu
Par exemple:.
<ItemGroup>
<ProjectReference Include="..\..\..\..\Projects\Registrar\Ucsb.Sa.Registrar.Common\Ucsb.Sa.Registrar.Common\Ucsb.Sa.Registrar.Common.csproj">
<Project>{1EDDDE57-0181-41B4-B2AE-FB76450F85C8}</Project>
<Name>Ucsb.Sa.Registrar.Common</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup Condition="$(OnBuildServer) == 'true'">
<ProjectReference Remove="*" />
</ItemGroup>
<ItemGroup Condition="$(OnBuildServer) == 'true'">
<Reference Include="Ucsb.Sa.Registrar.Common">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(RegCommonDll)</HintPath>
</Reference>
</ItemGroup>
Mais, quand je charge le projet dans VS 2008, je reçois le message d'erreur « L'attribut « Supprimer » dans l'élément <ProjectReference> est non reconnu » La chose étrange est que l'attribut Remove est dans le schéma (C: \ Program Files \ Microsoft Visual Studio 9.0 \ Xml \ Schémas \ 1033 \ MSBuild \ Microsoft.Build.Core.xsd). Il y a la documentation de MSDN dessus (http://msdn.microsoft.com/en-us/library/bb651786.aspx). un commentaire à ce sujet au bas de l'article MSDN intitulé " MSBuild Items "
Le fichier .csproj semble pointer vers .NET 3.5; mais je suis incapable de vérifier si cette version de msbuild est utilisé pour charger le projet (personne ne sait comment faire?)
Première ligne de .csproj:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
PS. J'ai eu l'idée d'utiliser les conditions de Build with msbuild and dynamically set project references
J'ai également essayé de changer les clés de registre à 3.5 par défaut. Ces clés ne configurent pas Visual Studio, mais configurent plutôt les valeurs par défaut lors de la création d'un nouveau projet (http://msdn.microsoft.com/en-us/library/bb397428.aspx, \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ 3.5 \, \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSBuild \ ToolsVersions \ 2.0 \). Cela, bien sûr, n'a pas fait l'affaire. J'ai également parcouru la variable d'environnement PATH et remplacé toutes les références au répertoire 2.0 par 3.5. Encore une fois, ceci n'a pas produit de solution. – smaglio81