C#程序无法在其他计算机上运行

时间:2020-05-10 17:08:06

标签: c# windows

我已经制作了一个连接服务器并监听某些数据包的应用程序,为此我使用了Nuget网络库。这是我的.csproj文件:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RootNamespace>remote_client</RootNamespace>
    <Platforms>AnyCPU;x64</Platforms>
    <UseWPF>true</UseWPF>
    <UseWindowsForms>true</UseWindowsForms>
    <StartupObject>remote_client.client</StartupObject>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Network" Version="6.1.4.20" />
    <PackageReference Include="System.Management.Automation" Version="7.0.0" />
  </ItemGroup>

  <ItemGroup>

  </ItemGroup>

</Project>

然后我在如何将其编译为单个 .exe文件时遇到了问题。我找到了我在Powershell中使用的命令(我在项目目录中运行了它):

dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true

然后我只有一个文件,可以在计算机上的任何地方使用。 当我尝试将其提供给我的朋友时,它不会出现Windows错误(我的翻译):无法运行此应用程序。要求程序的开发人员执行某事... 我的Windows版本是1909,而他的版本是1809。
因此,总而言之,我需要解决此问题或获得一些简单的方法来发布应用程序并将其编译为Windows通用的单个.exe文件。

编辑:实际错误消息是:

This application will not work on your computer. To find the version for this computer, contact the software publisher.

第一句话是弹出消息框的标题,第二句话正在显示为消息。

1 个答案:

答案 0 :(得分:0)

不好意思,我认为它无法运行,因为我的朋友运行该应用程序的计算机是32位,但我将其编译为64位。