将引用程序集写入中间输出
默认情况下,.NET SDK 现在将引用程序集写入 IntermediateOutputPath
而不是 OutDir
。 此更改从在运行时需要的输出中删除这些仅生成时项目。
引入的版本
.NET SDK 6.0.200
旧行为
由于添加了引用程序集,.NET SDK 已将引用程序集写入编译的 OutDir
目录中的 ref 目录。 在 .NET 5 中,已引入 ProduceReferenceAssembly 属性,并对 net5.0
以及更高版本的应用程序默认为 true
。 通过此更改,许多应用程序开始隐式地在 OutDir
目录中生成引用程序集。
新行为
现在,引用程序集默认写入 IntermediateOutputPath
目录的 refint
目录,就像许多其他中间项目一样。
更改原因
引用程序集通常不是运行时资产,因此默认不属于 OutDir
目录。
建议操作
如果你有自定义生成逻辑,并且需要操作引用程序集,请使用 TargetRefPath
属性获取正确的路径。
如果外部系统需要 OutDir
中的引用程序集,请在你的项目文件中将 MSBuild 属性 ProduceReferenceAssemblyInOutDir 设置为 true
。