Partager via


Écrire les assemblages de référence dans une sortie intermédiaire

Le Kit de développement logiciel (SDK) .NET écrit désormais des assemblys de référence dans le IntermediateOutputPath au lieu de dans le OutDir par défaut. La modification supprime ces artefacts, qui ne sont présents qu'au moment de la génération, des sorties nécessaires à l'exécution.

Version introduite

SDK .NET 6.0.200

Ancien comportement

Étant donné que des assemblys de référence ont été ajoutés, le Kit de développement logiciel (SDK) .NET a écrit des assemblys de référence dans le répertoire ref du OutDir répertoire de la compilation. Dans .NET 5, la propriété ProduceReferenceAssembly a été introduite et définie par défaut avec la valeur true pour les applications net5.0 et ultérieures. Avec cette modification, de nombreuses applications ont commencé à générer implicitement des assemblys de référence dans le OutDir répertoire.

Nouveau comportement

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

Raison de la modification

Les assemblys de référence ne sont généralement pas des ressources runtime, et n’appartiennent donc pas au OutDir répertoire par défaut.

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

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