【问题标题】:Build Failed on Wasm project on Ubuntu 20.04在 Ubuntu 20.04 上的 Wasm 项目上构建失败
【发布时间】:2021-01-27 09:52:27
【问题描述】:

我是 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]

【问题讨论】:

    标签: .net uno-platform


    【解决方案1】:

    尝试删除 3.1.405 sdk。因为它们具有相同的安装路径(/usr/share/dotnet/sdk),所以在运行 dotnet 时可能会发生冲突,操作系统要么不知道选择哪个,要么选择了错误的路径,可能会破坏工作目录同样,地狱知道。 或者,以 root 身份运行 ldconfig,也许一些共享库在两个 sdks 之间脱离了接收器?这是我遇到类似错误时所做的。

    【讨论】:

    • 感谢您的建议,但没有奏效。此外,Uno 网站要求安装 .Net 3.1。
    【解决方案2】:

    也许您需要安装单声道,对吧? 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

    【讨论】:

      猜你喜欢
      • 2021-08-02
      • 2017-02-07
      • 2015-07-27
      • 2019-06-11
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 2020-09-06
      • 2022-12-04
      相关资源
      最近更新 更多