微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET跨平台应用程序仅在我在Windows上构建时才起作用,而在LinuxTravis CI上构建时则不起作用

如何解决.NET跨平台应用程序仅在我在Windows上构建时才起作用,而在LinuxTravis CI上构建时则不起作用

当在具有.NET版本 16.7.0-preview-20310-07 + ee1c9fd0c 的Windows上构建时,我的.NET 5应用程序C#2J可在Ubuntu子系统中使用。

dotnet publish --runtime linux-x64

在具有.NET版本 16.7.0-preview-20360-03 + 188921e2f 的Travis CI上构建时不起作用:

script:
  - dotnet-sdk.dotnet publish --runtime win-x64
  - dotnet-sdk.dotnet publish --runtime linux-x64
  - dotnet-sdk.dotnet publish --runtime osx-x64
  - *zipping*

尝试运行该应用程序时出现的错误是: -bash: ./csharp-to-json-converter: cannot execute binary file: Exec format error

我读了几篇文章,人们说这可能是架构不匹配,但我认为不是这种情况,因为我在publish命令中指定了架构。

我在Travis CI的版本和本地版本之间进行了区分,而DLL和可执行文件的大小确实有所不同。我看过this post,但似乎无关。

谢谢您的帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。