Écrire des assemblies de référence dans une sortie intermédiaire

Le kit de développement logiciel (SDK) .NET écrit désormais des assemblies de référence dans IntermediateOutputPath au lieu du OutDir par défaut. Cette modification supprime ces artefacts du moment de la génération uniquement des sorties dont vous avez besoin au moment de l’exécution.

Version introduite

SDK .NET 6.0.200

Ancien comportement

Depuis l’ajout d’assemblies de référence, le kit de développement logiciel (SDK) a écrit des assemblies de référence dans le répertoire ref dans le répertoireOutDir de la compilation. Dans .NET 5, la propriété ProduceReferenceAssembly a été introduite et définie par défaut sur true pour net5.0 et les applications ultérieures. Avec cette modification, de nombreuses applications ont commencé à générer implicitement des assemblies de référence dans le répertoire OutDir.

Nouveau comportement

À présent, les assemblies de référence sont écrits dans le répertoire refint du répertoire IntermediateOutputPath par défaut, comme de nombreux autres artefacts intermédiaires.

Raison du changement

Les assemblies de référence ne sont généralement pas des ressources au moment de l’exécution, et n’appartiennent donc pas au répertoire OutDir par défaut.

Si vous avez une logique de build personnalisée et que vous devez manipuler les assemblies de référence, utilisez la propriété TargetRefPath pour obtenir le chemin d’accès approprié.

Si un système externe requiert l’assembly de référence dans OutDir, définissez la propriété MSBuild ProduceReferenceAssemblyInOutDir sur true dans votre fichier projet.