.NET5 ASP.NET插件开发如何禁用编译时复制引用到ref、refs文件夹
解决.NET 5 ASP.NET 插件类库编译自动复制依赖到ref/refs文件夹问题
.NET 5+ 已重构构建逻辑,传统的 Copy Local、Copy Local Satellite Assemblies 配置无法覆盖引用程序集生成、共享框架依赖复制的逻辑,可通过修改项目.csproj文件的MSBuild属性实现禁用:
- 禁用ref文件夹生成
在项目的顶层<PropertyGroup>节点中添加如下配置,关闭引用程序集生成逻辑,从根源避免ref文件夹生成:<ProduceReferenceAssembly>false</ProduceReferenceAssembly> - 禁用Nuget包、ASP.NET核心dll自动复制到输出目录的refs文件夹
同样在<PropertyGroup>节点添加以下两个配置:<!-- 禁止Nuget包依赖复制到输出目录 --> <CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies> <!-- 禁止ASP.NET共享框架核心dll复制到输出目录 --> <CopyAspNetCoreSharedFrameworkAssemblies>false</CopyAspNetCoreSharedFrameworkAssemblies> - 自定义类库引用的额外配置
如果你引用了自己开发的其他类库项目,需要给对应的ProjectReference节点显式添加Private="false"属性,等效于旧版的Copy Local=No配置:<ProjectReference Include="..\你引用的类库路径\XXX.csproj"> <Private>false</Private> </ProjectReference>
配置完成后,删除项目下的bin、obj文件夹后重新编译即可生效。
内容的提问来源于stack exchange,提问作者Liaoo
相关产品推荐
相关产品推荐

