首页 > 解决方案 > 在 Ubuntu 20.04 上的 Wasm 项目上构建失败

问题描述

我是 Uno 的新手,我正在尝试从 Ubuntu20.04 生成一个 Wasm 应用程序。我正在使用“https://platform.uno/docs/articles/getting-started-tutorial-1.html”中描述的第一个教程对其进行测试。

我使用以下命令创建了一个 uno 项目:
$ dotnet new unoapp -o Tutorial1

我使用以下命令转到特定文件夹:
$ cd Tutorial1/Tutorial1.Wasm/

我试过了:
$ donet run
以及:
$ donet build /bl

我得到了 1 个错误

/home/jmarc/.nuget/packages/uno.wasm.bootstrap/1.3.4/build/Uno.Wasm.Bootstrap.targets(126,2): error : System.ComponentModel.Win32Exception (2): No such file or directory [/home/jmarc/GitRepos/dodeka/Tutorial1/Tutorial1.Wasm/Tutorial1.Wasm.csproj]<br>
/home/jmarc/.nuget/packages/uno.wasm.bootstrap/1.3.4/build/Uno.Wasm.Bootstrap.targets(126,2): error :    at System.Diagnostics.Process.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec) [/home/jmarc/GitRepos/dodeka/Tutorial1/Tutorial1.Wasm/Tutorial1.Wasm.csproj]<br>
/home/jmarc/.nuget/packages/uno.wasm.bootstrap/1.3.4/build/Uno.Wasm.Bootstrap.targets(126,2): error :    at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo) [/home/jmarc/GitRepos/dodeka/Tutorial1/Tutorial1.Wasm/Tutorial1.Wasm.csproj]<br>
/home/jmarc/.nuget/packages/uno.wasm.bootstrap/1.3.4/build/Uno.Wasm.Bootstrap.targets(126,2): error :    at System.Diagnostics.Process.Start() [/home/jmarc/GitRepos/dodeka/Tutorial1/Tutorial1.Wasm/Tutorial1.Wasm.csproj]<br>
/home/jmarc/.nuget/packages/uno.wasm.bootstrap/1.3.4/build/Uno.Wasm.Bootstrap.targets(126,2): error :    at Uno.Wasm.Bootstrap.ShellTask_v2ed6794b633a8ebf33d51d6d21f9d6a587ebe09e.RunProcess(String executable, String parameters, String workingDirectory) in D:\a\1\s\src\Uno.Wasm.Bootstrap\ShellTask.cs:line 470 [/home/jmarc/GitRepos/dodeka/Tutorial1/Tutorial1.Wasm/Tutorial1.Wasm.csproj]<br>
/home/jmarc/.nuget/packages/uno.wasm.bootstrap/1.3.4/build/Uno.Wasm.Bootstrap.targets(126,2): error :    at Uno.Wasm.Bootstrap.ShellTask_v2ed6794b633a8ebf33d51d6d21f9d6a587ebe09e.RunPackager() in D:\a\1\s\src\Uno.Wasm.Bootstrap\ShellTask.cs:line 579 [/home/jmarc/GitRepos/dodeka/Tutorial1/Tutorial1.Wasm/Tutorial1.Wasm.csproj]<br>
/home/jmarc/.nuget/packages/uno.wasm.bootstrap/1.3.4/build/Uno.Wasm.Bootstrap.targets(126,2): error :    at Uno.Wasm.Bootstrap.ShellTask_v2ed6794b633a8ebf33d51d6d21f9d6a587ebe09e.Execute() in D:\a\1\s\src\Uno.Wasm.Bootstrap\ShellTask.cs:line 182 [/home/jmarc/GitRepos/dodeka/Tutorial1/Tutorial1.Wasm/Tutorial1.Wasm.csproj]

我检查了文件/home/jmarc/.nuget/packages/uno.wasm.bootstrap/1.3.4/build/Uno.Wasm.Bootstrap.targets存在并且确实存在。我不明白我做错了什么。
顺便一提。安装的 .Net Sdks 是:

$ dotnet --list-sdks
3.1.405 [/usr/share/dotnet/sdk]
5.0.102 [/usr/share/dotnet/sdk]

标签: .netuno-platform

解决方案


也许你需要安装单声道,对吧? https://github.com/unoplatform/uno/issues/1947#issuecomment-625468775

我试过了:

  • 将 Mono 存储库添加到您的系统
  • 安装单声道

然后运行以下命令:

  • dotnet new -i Uno.ProjectTemplates.Dotnet
  • dotnet new unoapp -o MyApp -ios=false -android=false -macos=false
  • cd MyApp/MyApp.Wasm
  • dotnet build

推荐阅读