【问题标题】:unable to publish UWP through WPF with XamlIslands : Microsoft.Windows.UI.Xaml.CSharp.targets not found无法使用 XamlIslands 通过 WPF 发布 UWP:未找到 Microsoft.Windows.UI.Xaml.CSharp.targets
【发布时间】:2020-01-26 17:45:56
【问题描述】:

下午好,

following rigourously this XamlIslands tutorial from WDC 之后,由于.Net Core 3.0,我已经能够成功编译测试应用程序;你可以在这里看到结果

证明教程是正确的:我的应用程序在调试模式下执行和运行良好。

因为我希望通过这种技术使用 UWP 部署可移植项目,所以我尝试发布一个 .exe 独立文件using this tutorial. 该教程适用于 .net Core 3 项目,只要我不尝试发布我的跨技术项目。

当我尝试发布 XamlIslands 项目时,控制台显示如下:

PS C:\Users\████████████\source\repos\TestCore> dotnet publish -r win-x64 -c Release
Microsoft (R) Build Engine version 16.3.0+0f4c62fea pour .NET Core
Copyright (C) Microsoft Corporation. Tous droits réservés.

C:\Users\████████████\source\repos\TestCore\MyUWPClass\MyUWPClass.csproj : warning NU1503: Ignorer la restauration du projet 'C:\Users\████████████\source\repos\TestCore\MyUWPClass\MyUWPClass.csproj'. Il est possible que le fichier projet ne soit pas valide ou qu'il ne contienne pas toutes les cibles nécessaires à la restauration. [C:\Users\████████████\source\repos\TestCore\TestCore.sln]
C:\Program Files\dotnet\sdk\3.0.100\NuGet.targets(123,5): warning : Projet à restaurer introuvable ! [C:\Users\████████████\source\repos\TestCore\TestCore.sln]
C:\Users\████████████\source\repos\TestCore\MyUWPClass\MyUWPClass.csproj(143,3): error MSB4019: Le projet importé "C:\Program Files\dotnet\sdk\3.0.100\Microsoft\WindowsXaml\v16.0\Microsoft.Windows.UI.Xaml.CSharp.targets" est introuvable. Vérifiez que le chemin d'accès dans la déclaration <Import> est correct et que le fichier existe sur le disque.

我已经在文件夹上进行了验证,丢失的文件显然不存在。事实上,文件夹“...\WindowsXaml”甚至都不存在。

问:我可以发布这样的项目吗?如果可以,我缺少哪个包?

旁注:

  • 我正在 Windows 10 v1903 上使用 Visual Studio 2019 Enterprise Preview;
  • VS2019 Preview 似乎禁用了发布:点击“Generate => Publish TestCore”甚至没有打开一个窗口。
  • 尝试安装 .net Core 3 SDK:没有帮助;
  • 尝试安装 NuGet 包 Microsoft.NetCore.targets:没有帮助;
  • (编辑)在构建了一个简单的 WPF 应用程序(窗口 + 内部的“Hello”标签)之后,right-click &gt; Publish 没有显示任何内容,但使用控制台命令 dotnet publish -r -win-x64 -c Release 给了我一个发布文件夹和一个独立的应用程序。还尝试在单个 .exe 文件上打包,它也可以工作。

我发现如果您安装了 .Net Core 3.0 SDK/Runtime,并且如果您复制文件夹 your_project_folder/bin/x64/Debug/netcoreapp3.0/,您将能够在不发布的情况下运行 your_project.exe。它并没有解决我遇到的发布问题,所以问题仍然存在。

【问题讨论】:

    标签: c# wpf uwp


    【解决方案1】:

    您提供的打包文档适用于 ConsoleApp。目前没有 dotnet-CLI 包 WPF 程序的文档。

    在 Visual Studio 中发布 WPF 程序时不会弹出,但请注意“output”窗口的内容,它会在your_project_folder/bin/x64/Debug/netcoreapp3.0/publish 中发布包,您可以在其中找到已发布的应用以及它们的依赖关系。

    最好的问候。

    【讨论】:

    • 您好,我尝试查看输出窗口的内容,不幸的是我没有比“包管理器”或“构建”提供的更多信息。我也检查了...\publish 文件夹,但它没有弹出。目前,我发现如果客户端计算机上安装了 .Net Core 3 Runtime 或 SDK,如果我们复制 netcoreapp3.0 文件夹并在其中运行 my_project.exe,它可以工作。我仍然有一个发布问题,可能与这个特殊情况无关,但它暂时可以解决问题。谢谢你的建议!
    • 很高兴您找到了解决方案。虽然是临时解决方案,但后续文档完善后应该会有更好的解决方案。
    猜你喜欢
    • 2017-09-07
    • 2020-10-15
    • 1970-01-01
    • 2020-12-08
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    相关资源
    最近更新 更多