.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。