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