You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 5.0 如何排除System.IO.Ports包生成的Runtimes文件夹

配置项目仅保留所需架构的System.IO.Ports相关文件

你可以通过以下两种方案实现需求,根据你的使用场景选择即可:

方案1:指定目标运行时过滤多余平台文件

如果你需要保留对应架构的原生适配能力,仅排除不需要的ARM、OSX等其他平台文件,可按如下配置:

  • 右键点击项目,选择「编辑项目文件」,在顶层<PropertyGroup>节点中添加对应配置:
    仅需要x64架构时添加:
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    
    仅需要x86架构时添加:
    <RuntimeIdentifier>win-x86</RuntimeIdentifier>
    
    需要同时兼容x86和x64两种架构时添加(注意标签名末尾多了s):
    <RuntimeIdentifiers>win-x86;win-x64</RuntimeIdentifiers>
    
  • 保存项目文件后重新还原Nuget包、重新编译,输出目录就只会保留你指定的架构对应的运行时文件,不会生成其他平台的冗余内容。

方案2:强制仅生成单个DLL文件(仅Windows运行场景适用)

如果你的程序仅在Windows环境运行,不需要跨平台适配,可直接禁用Nuget包的分平台运行时资产,输出仅保留单个通用DLL:

  • 编辑项目文件,找到System.IO.Ports的包引用节点,添加ExcludeAssets="runtime"属性,修改后格式如下:
    <PackageReference Include="System.IO.Ports" Version="你的实际版本号" ExcludeAssets="runtime" />
    
  • 重新编译后,输出目录不会生成Runtimes文件夹,只会保留单个System.IO.Ports.dll文件。

内容的提问来源于stack exchange,提问作者Jan Pichl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:15:03