É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.
Action recommandée
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.