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

.NET 7应用通过dotnet命令启动失败,直接运行exe正常

问题:.NET 7.0指定平台目标后,dotnet命令启动失败

场景与当前配置

我有一个需在Windows和Linux运行的.NET 7.0小型应用,因要通过P/Invoke调用32位DLL,无法设置为可移植目标,因此配置平台目标为ARM32和x86:

<PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net7.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <Platforms>ARM32;x86</Platforms>
</PropertyGroup>

应用所有组件均采用此配置,在Windows机器上通过VS 2022或Rider启动可正常运行,但尝试通过dotnet命令启动bin目录下的构建输出或发布版本时失败。

发布配置

发布配置截图

抛出异常

未处理的异常。System.IO.FileLoadException: 无法加载文件或程序集“EIS.Host, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”。

EIS.Host是启动应用的项目名称,生成的可执行文件名为EIS.Host.exe。

已尝试的操作

我曾尝试不同配置,比如在csproj中添加:

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <PlatformTarget>x86</PlatformTarget>
</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <PlatformTarget>x86</PlatformTarget>
</PropertyGroup>

之后切换为当前配置。我分别使用Rider和VS2022进行构建,尝试通过dotnet命令启动ARM32(WSL2环境)和x86(本地机器)的构建输出及发布版本,但均失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 19:03:11