将引用程序集写入中间输出

.NET SDK 现在默认将引用程序集写入IntermediateOutputPath而不是OutDir。 此更改从在运行时需要的输出中删除这些仅生成时项目。

引入的版本

.NET SDK 6.0.200

旧行为

由于添加了引用程序集,.NET SDK 已将引用程序集写入编译目录中的 ref 目录 OutDir 。 在 .NET 5 中,已引入 ProduceReferenceAssembly 属性,并对 true 以及更高版本的应用程序默认为 net5.0。 通过此更改,许多应用程序开始在OutDir目录中隐式生成引用程序集。

新行为

现在,引用程序集默认写入 refint 目录的 IntermediateOutputPath 目录,就像许多其他中间项目一样。

更改原因

引用程序集通常不是运行时资产,因此默认情况下不属于 OutDir 目录中。

如果您有自定义构建逻辑,并且需要操作引用程序集,请使用TargetRefPath 属性获取正确的路径。

如果外部系统需要引用 OutDir 程序集,请在项目文件中将 MSBuild 属性 ProduceReferenceAssemblyInOutDir 设置为 true