Nous avions l'impression que la définition du cadre cible sur les propriétés d'une solution limiterait cette application à utiliser uniquement ce cadre ou de la fonctionnalité est ci-dessous. Nous venons d'apprendre que, que quelqu'un peut ajouter une référence et commencer à utiliser le code d'un cadre supérieur versionné et le compilateur ne se plaindra pas un peu. Étant donné que nous voudrions éviter à l'avenir que quelqu'un a des idées sur la façon dont je pourrais détecter quelque chose faisant référence à une version supérieure ou non? Je dois échouer la construction si quelqu'un ajoute du code au-dessus de notre cible.Comment puis-je appliquer une version spécifique du framework .net
Répondre
Pourquoi avez-vous besoin d'éviter cela si cela fonctionne? Tant que vous n'utilisez aucune des nouvelles fonctionnalités, je crois qu'il est possible d'avoir des DLL compatibles "forward".
Nous voulons vous assurer qu'un développeur n'a pas accidentellement/ajouter sans le savoir, l'utilisation l'une des nouvelles fonctionnalités. – Alex
Je m'attendrais à ce que le compilateur attrape ces problèmes pour vous. Si ce n'est pas le compilateur, alors tous les tests unitaires l'attraperaient à coup sûr. – David
En supposant que vous ciblez .NET 2.0 et supérieur ... votre build pourrait échouer si vous détectez des références à System.Core ou à d'autres assemblys 3.x (par exemple WPF) dans les références de vos projets.
MISE À JOUR
Vous pouvez commencer par vérifier dans chaque fichier .PROJ
pour:
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
Puis, dans la balise <ItemGroup>
:
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
Cela pourrait être une tâche NAnt personnalisée ou écrivez votre propre analyseur pour rechercher ces nœuds et échouer la construction.
Et comment les détecteriez-vous? J'ai regardé les manifestes, les fichiers proj, et similaires. Et, sans une liste globale de chaque DLL et quelle version il est je ne peux pas comprendre comment déterminer le mieux. Les bonnes nouvelles sont que j'ai testé VS 2010 et il fait faire cela, donc la meilleure option pourrait bien être attendre 2010 et la mise à niveau immédiatement. – Alex
- 1. Version C# et .NET Framework Version?
- 2. Exigences relatives à la version du framework .NET
- 3. Modifier la version .NET Framework du pool d'applications à 3.5?
- 4. Quelle version du framework .net sera utilisée par Sharepoint 2010?
- 5. Comment charger une version spécifique d'un assemblage
- 6. .net framework version demandée pour MS Sync Framework
- 7. Asp.net Dev Server utilisant une mauvaise version du framework?
- 8. Obtenir la version .NET Framework dans VB.NET
- 9. Utiliser une version spécifique de vcredist?
- 10. Obtention du chemin du répertoire .NET Framework
- 11. Structure des projets dans le contrôle de version - .NET spécifique
- 12. Appliquer un filtre à une zone spécifique d'un objet DisplayObject?
- 13. Numéro de version dans l'application .NET Compact Framework
- 14. Choisir la bonne version de .Net Compact Framework
- 15. Cliquez-Une fois l'installation du .NET Framework sur et plus
- 16. Utilisation du débogage .Net Framework Source
- 17. Conditionnement du framework .net avec un déploiement d'application .net
- 18. Quelle est la différence entre la version v2.0.50727.3053 et v2.0.50727.3074 du framework .Net?
- 19. Existe-t-il un moyen de changer la version du framework .NET de Visual Studio 2005 en version 3.5?
- 20. MMC .Net Runtime Version
- 21. Qt 4.5 Dépendance du framework .NET
- 22. Comment appliquer une distorsion du son dans actionscript-3?
- 23. Comment appliquer exactement une définition?
- 24. Liaison par rapport à une version de bibliothèque partagée spécifique sous Linux
- 25. Pouvez-vous exécuter un binaire .NET version 3 sur une installation CLR version 2?
- 26. Comment puis-je appliquer transliterate (tr) d'Unix/Sed's/Perl à seulement une colonne spécifique?
- 27. Comment désinstaller le framework .NET?
- 28. Wix et .NET Framework (prérequis)
- 29. Comment appliquer un attribut .net à un type de retour
- 30. Obtenir la "version" spécifique d'une colonne
AMHA que le drapeau ne permettant pas la langue caractéristiques (clr) des cadres supérieurs, et non pas les bibliothèques .. – andyp