Запись ссылочных сборок в промежуточные выходные данные

Пакет SDK для .NET теперь записывает ссылки на сборкиIntermediateOutputPath вместо по OutDir умолчанию. Это изменение удаляет эти артефакты только во время сборки из выходных данных, необходимых во время выполнения.

Представленная версия

Пакет SDK для .NET 6.0.200

Старое поведение

После добавления ссылочных сборок пакет SDK для .NET написал ссылочные сборки в каталог ссылок в OutDir каталог компиляции. В .NET 5 свойство ProduceReferenceAssembly было введено и по умолчанию для truenet5.0 приложений и более поздних версий. С этим изменением многие приложения начали неявно создавать эталонные сборки в каталоге OutDir .

Новое поведение

Теперь ссылочные сборки записываются в refint каталог каталога IntermediateOutputPath по умолчанию, как и многие другие промежуточные артефакты.

Причина изменения

Ссылочные сборки обычно не являются ресурсами во время выполнения, поэтому не принадлежат в OutDir каталоге по умолчанию.

Если у вас есть настраиваемая логика сборки и вам нужно управлять эталонными сборками, используйте TargetRefPath свойство, чтобы получить правильный путь.

Если для внешней системы требуется эталонная сборка OutDir, задайте свойству MSBuild ProduceReferenceAssemblyInOutDir значение true в файле проекта.