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

如何让VS2022编译时将ASP.NET Core共享框架DLL输出到目录?

解决.NET 6类库无法加载Microsoft.AspNetCore.App共享框架DLL的问题

要强制将Microsoft.AspNetCore.App共享框架的运行时DLL复制到输出目录,你可以通过修改项目配置和发布参数实现,具体步骤如下:

1. 修改项目文件(.csproj)

在你的类库项目文件中添加以下配置:

<PropertyGroup>
  <!-- 强制复制所有NuGet锁定文件中的依赖程序集到输出目录 -->
  <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  <!-- 指定目标设备的运行时标识符,根据实际平台修改(如win-x64、linux-arm64等) -->
  <RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>

<ItemGroup>
  <!-- 显式配置Microsoft.AspNetCore.App框架引用,确保运行时资产被复制 -->
  <FrameworkReference Include="Microsoft.AspNetCore.App" PrivateAssets="All" />
</ItemGroup>

2. 使用dotnet发布命令生成输出

在命令行中执行发布命令,确保依赖被完整复制:

dotnet publish -c Release -r win-x64 --self-contained false
  • -c Release:以Release模式编译
  • -r win-x64:匹配你设置的运行时标识符
  • --self-contained false:不打包整个.NET运行时,仅复制所需的ASP.NET Core依赖DLL

3. 验证输出结果

发布完成后,检查输出目录(默认是bin/Release/net6.0/win-x64/publish),你会看到Microsoft.AspNetCore.App相关的运行时DLL已被复制到该目录中,而非仅存于refs文件夹。

注意:PreserveCompilationContext配置仅用于保留编译期间的上下文信息,不会复制运行时DLL,因此无法解决你的问题。

内容的提问来源于stack exchange,提问作者B. Green

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:52:11