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

Visual Studio 2022发布.NET Core项目时提示Metadata file could not be found

问题描述

使用Visual Studio 2022开发多模块.NET Core项目,编译正常但发布时出现「Metadata file could not be found」错误,已尝试逐个构建依赖项目但无效,现有发布配置如下:

<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
  <PropertyGroup>
    <DeleteExistingFiles>false</DeleteExistingFiles>
    <ExcludeApp_Data>false</ExcludeApp_Data>
    <LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>x64</LastUsedPlatform>
    <PublishProvider>FileSystem</PublishProvider>
    <PublishUrl>bin\Release\net8.0\publish\</PublishUrl>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <_TargetId>Folder</_TargetId>
    <SiteUrlToLaunchAfterPublish />
    <TargetFramework>net8.0-windows10.0.26100.0</TargetFramework>
    <ProjectGuid>fe4621ed-7ee3-491b-b314-fd377497d738</ProjectGuid>
    <SelfContained>false</SelfContained>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
  </PropertyGroup>
</Project>
可能的问题原因
  • 依赖项目构建配置不匹配:主项目发布使用Release+x64配置,但依赖项目可能仅构建了AnyCPU版本的Release包,发布时主项目会寻找对应x64架构的元数据文件,导致找不到。
  • TargetFramework版本差异:主项目使用Windows特定的net8.0-windows10.0.26100.0框架,若依赖项目的TargetFramework为普通net8.0,发布时会因元数据的目标框架不兼容导致找不到文件。
  • 输出路径不匹配:主项目发布路径为bin\Release\net8.0\publish\,但依赖项目的Release输出可能在bin\Release\net8.0\或bin\Release\net8.0\win-x64\目录,主项目发布时未正确识别依赖的输出位置。
  • 项目引用方式错误:若主项目直接引用依赖项目的DLL文件而非项目引用,发布时路径变化会导致元数据文件丢失;或项目引用中硬编码了本地路径,发布环境下路径无效。
  • 缓存或中间文件损坏:Visual Studio发布缓存、项目的bin/obj目录存在损坏文件,导致发布时无法正确读取元数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:13:12